【发布时间】:2021-04-12 13:08:14
【问题描述】:
如何获得隐藏窗口的 hWnd?使用我的配置,它返回 0。
这是我尝试过的:
ProcessStartInfo startInfo = new ProcessStartInfo(path);
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
Process process = Process.Start(startInfo);
process.WaitForInputIdle();
MessageBox.Show(process.MainWindowHandle.ToString());
【问题讨论】:
-
如果我错了,请纠正我,但它返回 0 是否有意义?由于隐藏窗口不存在,因此没有句柄?
-
确实存在。系统只是不绘制它。如果我启动该过程然后隐藏窗口样式,它工作正常。您可以在此处找到有关窗口样式的更多信息:docs.microsoft.com/en-us/dotnet/api/…
-
好的,那么,您是否按照
ProcessWindowStyle.Hidden的要求将UseShellExecute设置为true? -
我认为默认值为true。但我试过了,它没有任何区别。
标签: c# process system.diagnostics