我有一个窗体和窗体内的面板,这是我的代码,可以很好地处理setparent。
hWnd = FindWindow("MapleStoryClass", null);
Panel_Handle();
SetParent(hWnd, PanelHandle);
SetWindowPos(hWnd, (IntPtr)SpecialWindowHandles.HWND_TOP,
-3, -25, 800, 600, SetWindowPosFlags.SWP_NOSIZE);
我唯一的问题是如何确定setparent是否通过代码工作?我知道我可以直观地检查setparent是否工作正常,但是我需要在代码中输入检查以查看setparent是否工作正常。
最佳答案
您可以尝试使用GetParent WinApi函数。
从上方链接:
如果窗口是子窗口,则返回值是该窗口的句柄
父窗口。如果该窗口是带有WS_POPUP的顶级窗口
样式,返回值是所有者窗口的句柄。
如果函数失败,则返回值为NULL。获取扩展错误
信息,请调用GetLastError。此功能通常会因以下原因而失败
以下原因之一:
•该窗口是顶级窗口,不属于或不具有
WS_POPUP样式。
•所有者窗口具有WS_POPUP样式。