Очевидно, что я не могу завершить данный процесс, когда его главное окно скрыто («свернуто в трей»). Поэтому я попытался снова показать окно в обработчике 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.
Спасибо!
В проекте, созданном из стандартного шаблона приложения Windows Forms, нет связанных стандартных библиотек / библиотек по умолчанию, которые обычно включаются в собственные проекты. И вам нужно добавить их явно, в настройках проекта или в коде. Где вы включаете <windows.h>
, добавлять #pragma
как показано ниже:
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#pragma comment(lib, "user32.lib") // <<--- Add Me
Это свяжет ваш пропавший ShowWindow
,
Вы, вероятно, не используете C ++ и Win32. Тогда вы бы написать
#include <windows.h>
//...
{
//...
HWND Handle = Gateway->MainWindowHandle; // Gateway probably is your class.
ShowWindow(Handle, SW_SHOWDEFAULT);
}