Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.08.2012, 21:10   #1
Denis83
Новичок
Джуниор
 
Регистрация: 22.08.2012
Сообщений: 2
По умолчанию использование WinApi в VS 2010

Всем доброго времени суток, перерыл весь гугл и не нашёл решения, пытаюсь найти хендл окна, пишу так:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
HWND hWnd;
hWnd = FindWindow(_T("TForm1"),NULL);
}
в итоге компилятор выдаёт:
1>------ Перестроение всех файлов начато: проект: hw10, Конфигурация: Debug Win32 ------
1>Построение начато 22.08.2012 20:44:57.
1>_PrepareForClean:
1> Файл "Debug\hw10.lastbuildstate" удаляется.
1>InitializeBuildStatus:
1> Обращение к "Debug\hw10.unsuccessfulbuild".
1>GenerateTargetFrameworkMonikerAtt ribute:
1>Целевой объект "GenerateTargetFrameworkMonikerAttr ibute" пропускается, так как все выходные файлы актуальны по отношению к входным.
1>ClCompile:
1> stdafx.cpp
1> AssemblyInfo.cpp
1> hw10.cpp
1> Создание кода...
1> .NETFramework,Version=v4.0.Assembly Attributes.cpp
1>CoreResGen:
1> Обрабатывается файл ресурсов "Form1.resX", результирующий объект: "Debug\hw10.Form1.resources".
1>hw10.obj : error LNK2028: ссылка на неразрешенную лексему (0A000011) "extern "C" struct HWND__ * __stdcall FindWindowW(wchar_t const *,wchar_t const *)" (?FindWindowW@@$$J18YGPAUHWND__@@PB _W0@Z) в функции "private: void __clrcall hw10::Form1::button1_Click(class System::Object ^,class System::EventArgs ^)" (?button1_Click@Form1@hw10@@$$FA$AA MXP$AAVObject@System@@P$AAVEventArg s@4@@Z)
1>hw10.obj : error LNK2019: ссылка на неразрешенный внешний символ "extern "C" struct HWND__ * __stdcall FindWindowW(wchar_t const *,wchar_t const *)" (?FindWindowW@@$$J18YGPAUHWND__@@PB _W0@Z) в функции "private: void __clrcall hw10::Form1::button1_Click(class System::Object ^,class System::EventArgs ^)" (?button1_Click@Form1@hw10@@$$FA$AA MXP$AAVObject@System@@P$AAVEventArg s@4@@Z)
1>E:\Users\Den\documents\visual studio 2010\Projects\hw10\Debug\hw10.exe : fatal error LNK1120: 2 неразрешенных внешних элементов
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:06.66
========== Перестроение всех: успешно: 0, с ошибками: 1, пропущено: 0 ==========
не могу понять что ему нужно и как обойти ошибку.
Denis83 вне форума Ответить с цитированием
Старый 22.08.2012, 21:22   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

вы создали проект CLR. создайте проект Win32 и используйте функции WinAPI
counter вне форума Ответить с цитированием
Старый 23.08.2012, 10:31   #3
Denis83
Новичок
Джуниор
 
Регистрация: 22.08.2012
Сообщений: 2
По умолчанию

спасибо, однако для меня это не подходит, вышел из положения импортированием функции из user32.dll, сделал так:

using namespace System::Runtime::InteropServices;
// for DllImportAttribute
namespace My_import
{
[DllImport("user32.dll", EntryPoint = "FindWindow")]
HWND WINAPI FindWindow(
_In_opt_ LPCTSTR lpClassName,
_In_opt_ LPCTSTR lpWindowName
);
}
//---------------------------------------------------------

HWND hWnd = My_import::FindWindow(NULL,_T("mine sweeper"));
Denis83 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Различие кода mfc и WinApi(mfc ручками набили, а WinApi автоматически с генерировался!! нужно явное отличие, не могу найти) Артём1991 Помощь студентам 0 25.03.2012 17:13
winapi, использование Mutex'ов LockHeart Win Api 4 24.11.2011 14:45
добавление библиотеки в embarcadero rad studio 2010 (c++ builder 2010) Cenitel Помощь студентам 1 14.05.2011 16:32
Использование динамического массива в функции ReadFile (WinAPI). Korrado Помощь студентам 7 29.11.2009 13:38