";释放“;我的面板(MainWindowHandle)中的进程
本文关键字:MainWindowHandle 进程 释放 quot 我的 | 更新日期: 2023-09-27 18:29:18
我运行此代码来设置进程的父窗口:
SetParent(masterP.MainWindowHandle, panel1.Handle);
当我关闭应用程序时,我想将master p进程的MainWindowHandle更改为操作系统。换句话说,我想把它"释放"回正常的"状态"。
因此,我的基本问题是,我需要使用什么代码才能做到这一点?:)
提前感谢
我想您使用的是winforms和WinApi:
SetParent(masterP.MainWindowHandle, IntPtr.Zero);
Mainwindowhandle在使用SetParent时由于窗口撕裂而显示为"0"。在使用SetParent操作之前,您需要使用以下代码:
private IntPtr backupMainWindowHandle = IntPtr.Zero;
private void Button1_Click(object sender, EventArgs e)
{
Process notepad = Process.GetProcessesByName("notepad")[0];
backupMainWindowHandle = notepad.MainWindowHandle;
SetParent(notepad.MainWindowHandle, SetToHandle); //Dock
}
以下是要发布的代码:
private void Button2_Click(object sender, EventArgs e)
{
SetParent(backupMainWindowHandle, IntPtr.Zero); //Undock
}