";释放“;我的面板(MainWindowHandle)中的进程

本文关键字:MainWindowHandle 进程 释放 quot 我的 | 更新日期: 2023-09-27 18:29:18

我运行此代码来设置进程的父窗口:

SetParent(masterP.MainWindowHandle, panel1.Handle);

当我关闭应用程序时,我想将master p进程的MainWindowHandle更改为操作系统。换句话说,我想把它"释放"回正常的"状态"。

因此,我的基本问题是,我需要使用什么代码才能做到这一点?:)

提前感谢

";释放“;我的面板(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
}
相关文章:
  • 没有找到相关文章