如果您的表单现在将其用作父目录,您将如何从表单中取消该程序?
[DllImport("user32.dll")]
public static extern int SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
[DllImport("coredll.dll", SetLastError = true)]
private static extern int GetWindowLong(IntPtr hWnd, int nIndex);
[DllImport("coredll.dll", SetLastError = true)]
private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
SetParent(setter, this.panel1.Handle);
取消挂钩我试过SetParent(setter,setter);没有运气。
答案 0 :(得分:1)
我知道这已经很晚了,但是我能够将零传递给父母:
SetParent(process.MainWindowHandle, IntPtr.Zero);
这会将桌面窗口设置为新的父窗口。
答案 1 :(得分:0)
SetParent返回上一个父窗口句柄。要“解开”窗口,您应该可以使用最初返回的句柄调用SetParent。