【问题标题】:Automatically close RegSvr32 prompts自动关闭 RegSvr32 提示
【发布时间】:2014-04-22 16:04:13
【问题描述】:

我有一个 C# 程序,它执行一些调用 RegSvr32 的批处理文件。当它执行时,会出现一些提示,如“某事已成功完成”,并带有“确定”按钮。我怎样才能自动关闭它们(这样用户就不会看到它们)?

这是一个控制台应用程序。我不想引用这样的表单或库来模仿按键。

截图:

【问题讨论】:

  • 一些批处理文件,bat文件?您想在执行 bat 文件后关闭控制台窗口吗?你能显示截图吗?
  • @Sinatr 是的,.bat 文件。在我的帖子中添加了屏幕截图。我执行了很多 regSvr 命令,出现了很多窗口,这对用户没有好处
  • 您可以使用 /s 标志静默运行 RegSvr32
  • @mikez 迈克!非常感谢,这有效!请你发个帖子,我可以标记为答案吗?

标签: c# .net batch-file command-line regsvr32


【解决方案1】:

您可以使用 /s 标志静默运行 RegSvr32

【讨论】:

    【解决方案2】:
     Dim Procinfo As New ProcessStartInfo(<<Batch File Path>>) With {.RedirectStandardOutput = True, .RedirectStandardError = True, .UseShellExecute = False, .WindowStyle = ProcessWindowStyle.Hidden, .CreateNoWindow = True}
     Dim Proc As Process = Process.Start(Procinfo)
    

    使用 WindowStyleCreateNoWindow 属性,您可以隐藏命令行窗口。您还可以从 Proc 对象处理批处理执行状态。

     Dim sOut As StreamReader = Proc.StandardOutput
     Dim sError As StreamReader = Proc.StandardError
     Dim Outputs As String = sOut.ReadToEnd
     Dim Errors As String = sError.ReadToEnd
    

    【讨论】:

    • 这对由 cmd 创建的 messageBoxes 没有帮助。我使用类似的代码来执行我的批处理。
    猜你喜欢
    • 2013-07-14
    • 2019-02-17
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2010-11-23
    • 2015-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多