ShowWindow后窗体最小化按钮失效的问题
各位大侠,请看以下代码:
HWND hWnd = ::FindWindow(NULL, TEXT("PM Control Panel"));
LONG l = ::GetWindowLong(hWnd, GWL_HINSTANCE);
if (hWnd) {
::ShowWindow(hWnd, SW_NORMAL);
::SetForegroundWindow(hWnd);
}
我用FindWindow找的另一个程序的主窗口,而这个程序是用VCL编制的,没有源代码,我发现这段代码运行后那个主窗口的最小化按钮失效了,
我在网上搜了下,有个解决方案,但我看不懂, 如下:
“
基于VCL的应用程序主窗体不会最小化,当主窗体接收到最小化消息时,它会传递到应用程序窗口。
使用Findwindow函数找到的是主窗体的句柄,而不是应用程序句柄(Application.Handle),所以建议用GetWindowLon函数进一步获得应用程序句柄,就可以避免最小化按钮失效的现象。
”
怎么扯到GetWindowLong上面去了,我是用VC的,特地请教各位C++ Builder高手。