2012-12-02 92 views
2

我在窗体中有一个窗体和一个面板,这是我的代码来处理setparent工作正常。检查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是否工作。

回答

1

您可以尝试使用GetParent WinApi函数。

从上面的链接:

如果窗口是一个子窗口,返回值是一个句柄 父窗口。如果该窗口是具有WS_POPUP 样式的顶级窗口,则返回值是所有者窗口的句柄。

如果函数失败,则返回值为NULL。要获得扩展错误 信息,请调用GetLastError。该功能通常为失败的原因如下 之一:

•窗口是一个顶层窗口是无主或者不具有 WS_POPUP风格。
•所有者窗口具有WS_POPUP样式。

0

,因为这是C#我只想说,你可以检查是否Panel.Parent是空

Panel.Parent是小组的父级的引用