【问题标题】:Hide Msinfo32.exe when called from C# process execution?从 C# 进程执行调用时隐藏 Msinfo32.exe?
【发布时间】:2013-07-24 02:11:43
【问题描述】:

我正在编写一个诊断程序,它使用“进程”对象输出 msinfo32.exe 的副本。通常我通过将“CreateNoWindow”属性设置为true来隐藏这些诊断。

问题是,每当我使用 process.start() 方法调用它时,无论我做什么,都会显示 msinfo32.exe 窗口。通常这不会发生在其他命令行程序(如 ipconfig)中。但是 msinfo 似乎出现了。有什么建议吗?

【问题讨论】:

  • 您是否也尝试设置WindowStyle = ProcessWindowStyle.Hidden
  • ipconfig 没有 GUI,所以它是一个完全不同的鱼缸。如果您真的需要隐藏 msinfo32 进度条,您可以将其推送到备用桌面 - 请参阅 MSDN 库中的 CreateDesktop。
  • 如果 UseShellExecute 属性为 true,则忽略 CreateNoWindow 属性值并创建一个新窗口。
  • @EricLaw 当你调用像 ipconfig 这样的命令行收费时,这些很重要。或者在 GUI 程序的情况下,您可以抑制额外的命令行窗口,该窗口可能会弹出调用 GUI 程序的命令。但是您不能隐藏 GUI 程序本身。也许您可以将其移出屏幕或其他一些东西。
  • 有些应用支持shellexecute的窗口定位参数(所以你可以最小化运行)但是Msinfo32不支持。

标签: c# windows


【解决方案1】:

这里有一个实用程序:http://www.ntwind.com/software/hstart.html 你可以使用。 该命令的语法是这样的:hstart /NOCONSOLE "batch_file_1.bat" 您还可以分配优先级。
希望对你有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多