检查SetParent函数是否有效?

时间:2012-12-02 01:17:49

标签: c# .net forms

我在表单中有一个表单和一个面板,这是我处理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是否有效。

2 个答案:

答案 0 :(得分:1)

您可以尝试使用GetParent WinApi功能。

从上面链接:

  

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

     

如果函数失败,则返回值为NULL。要获得扩展错误   信息,调用GetLastError。此功能通常失败   其中一个原因是:

     

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

答案 1 :(得分:0)

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

Panel.Parent是对Panel的父级的引用