我从我的应用程序中打开文件资源管理器窗口。我按以下方式进行:
var si = new ProcessStartInfo("explorer.exe", Path);
si.UseShellExecute = true;
var p = Process.Start(si);
p.WaitForInputIdle();
_hwnd = Window.FindWindow("CabinetWClass", null);
那部分有效。现在, p.HasExited 已经是真的了。我不确定为什么会这样,但我认为文件资源管理器不是一个普通的进程。
无论如何,我尝试了p.Close()
,,p.CloseMainWindow()
但p.Kill()
没有任何效果
我还导入了 DestroyWindow:
[DllImport("user32.dll", SetLastError = true)]
public static extern bool DestroyWindow(IntPtr hWnd);
并像这样使用它:
var result = Window.DestroyWindow(_hwnd);
但这也没有效果(_hwnd 是正确的非零句柄)...
我怎样才能关闭这个窗口?