0

显然,当它的主窗口被隐藏(“最小化到托盘”)时,我无法终止给定的进程。所以我尝试在其他进程的 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 窗体应用程序。

谢谢!

4

2 回答 2

1

在从标准 Windows 窗体应用程序模板创建的项目中,没有链接的标准/默认库通常包含在本机项目中。您需要在项目设置或代码中明确添加它们。在您包含 的地方<windows.h>,添加#pragma如下所示:

#define WIN32_LEAN_AND_MEAN
#include <windows.h>

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

这将链接您丢失的ShowWindow.

于 2012-10-16T16:53:45.377 回答
0

您可能没有使用 C++ 和 Win32。然后你会写

#include <windows.h>
//...
{
  //...
  HWND Handle = Gateway->MainWindowHandle; // Gateway probably is your class.
  ShowWindow(Handle, SW_SHOWDEFAULT);
}
于 2012-10-16T11:48:47.710 回答