我在表单中有一个表单和一个面板,这是我处理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是否有效。
答案 0 :(得分:1)
您可以尝试使用GetParent WinApi功能。
从上面链接:
如果窗口是子窗口,则返回值是句柄 父窗口。如果窗口是带有WS_POPUP的顶级窗口 样式,返回值是所有者窗口的句柄。
如果函数失败,则返回值为NULL。要获得扩展错误 信息,调用GetLastError。此功能通常失败 其中一个原因是:
•窗口是一个无主或没有的顶级窗口 WS_POPUP风格。
•所有者窗口具有WS_POPUP样式。
答案 1 :(得分:0)
因为这是C#我只是说你可以检查Panel.Parent是否为空
Panel.Parent是对Panel的父级的引用