ShowWindow альтернативы

Очевидно, что я не могу завершить данный процесс, когда его главное окно скрыто («свернуто в трей»). Поэтому я попытался снова показать окно в обработчике FormClosing других процессов. Тоже не сработало.

Теперь я хочу использовать ShowWindow

IntPtr Handle = Gateway->MainWindowHandle;
ShowWindow((HWND)Handle.ToPointer(), SW_SHOWDEFAULT);

что, к сожалению, дает

error LNK2028: Nicht aufgelöstes Token (0A000072) ""extern "C" int __stdcall ShowWindow(struct HWND__ *,int)" (?ShowWindow@@$$J18YGHPAUHWND__@@H@Z)", auf das in Funktion ""private: void __clrcall lidarctrl::Form1::Form1_FormClosing(class System::Object ^,class System::Windows::Forms::FormClosingEventArgs ^)" (?Form1_FormClosing@Form1@lidarctrl@@$$FA$AAMXP$AAVObject@System@@P$AAVFormClosingEventArgs@Forms@Windows@4@@Z)" verwiesen wird.
error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""extern "C" int __stdcall ShowWindow(struct HWND__ *,int)" (?ShowWindow@@$$J18YGHPAUHWND__@@H@Z)" in Funktion ""private: void __clrcall lidarctrl::Form1::Form1_FormClosing(class System::Object ^,class System::Windows::Forms::FormClosingEventArgs ^)" (?Form1_FormClosing@Form1@lidarctrl@@$$FA$AAMXP$AAVObject@System@@P$AAVFormClosingEventArgs@Forms@Windows@4@@Z)".

Извините — немецкие ошибки; не знаю, как изменить локаль компилятора.

Non resolved Token...in function...referenced by...

Reference to non-resolved extern symbol...in function...

Я ценю любые подсказки, какой заголовок включить, библиотеку для загрузки.

Я использую Microsoft Visual C ++ 2010 Express; Проект представляет собой простое приложение Windows Forms.

Спасибо!

0

Решение

В проекте, созданном из стандартного шаблона приложения Windows Forms, нет связанных стандартных библиотек / библиотек по умолчанию, которые обычно включаются в собственные проекты. И вам нужно добавить их явно, в настройках проекта или в коде. Где вы включаете <windows.h>, добавлять #pragma как показано ниже:

#define WIN32_LEAN_AND_MEAN
#include <windows.h>

#pragma comment(lib, "user32.lib") // <<--- Add Me

Это свяжет ваш пропавший ShowWindow,

1

Другие решения

Вы, вероятно, не используете C ++ и Win32. Тогда вы бы написать

#include <windows.h>
//...
{
//...
HWND Handle = Gateway->MainWindowHandle; // Gateway probably is your class.
ShowWindow(Handle, SW_SHOWDEFAULT);
}
0

По вопросам рекламы [email protected]