我在表单中有一个表单和一个面板,这是我处理setparent的代码,运行良好。
hWnd = FindWindow("MapleStoryClass", null);
Panel_Handle();
SetParent(hWnd, PanelHandle);
SetWindowPos(hWnd, (IntPtr)SpecialWindowHandles.HWND_TOP,
-3, -25, 800, 600, SetWindowPosFlags.SWP_NOSIZE);我唯一的问题是,我如何确定setparent是否通过代码工作?
发布于 2012-12-02 09:34:24
您可以尝试使用GetParent WinApi函数。
从上面的链接:
如果窗口是子窗口,则返回值是父窗口的句柄。如果窗口是具有WS_POPUP样式的顶级窗口,则返回值是所有者窗口的句柄。
如果函数失败,则返回值为NULL。要获取扩展的错误信息,请调用GetLastError。此函数通常由于以下原因之一而失败:·窗口是无主窗口或没有WS_POPUP样式的顶级窗口。
·所有者窗口具有WS_POPUP样式。
发布于 2012-12-02 09:36:49
因为这是C#,所以我只想说您可以检查Panel.Parent是否为空
Panel.Parent是对面板父级的引用
https://stackoverflow.com/questions/13665494
复制相似问题