我有一个窗体和窗体内的面板,这是我的代码,可以很好地处理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样式。

10-04 21:18