【问题标题】:Tracing the arguments of an external .EXE called within a VB.net app跟踪在 VB.net 应用程序中调用的外部 .EXE 的参数
【发布时间】:2011-01-15 23:43:21
【问题描述】:

我没有源代码的程序正在执行第三方 EXE 文件。我想找出它发送到 EXE 文件的参数(即thirdparty.exe -c "foo" -d "bar")。我知道初始程序是用 Visual Basic 编写的。

我可以运行任何工具来监视执行调用并拦截参数吗?

任何帮助将不胜感激。

【问题讨论】:

    标签: windows debugging arguments exe command-line-arguments


    【解决方案1】:

    使用Image File Execution Options。通过适当地设置注册表项,您可以让操作系统执行您选择的可执行文件(而不是thirdparty.exe),如果您需要的话,您可以自己转换参数并在这些文件上运行thirdparty.exe。中间程序可能甚至不知道其中的区别。

    【讨论】:

      【解决方案2】:

      要以编程方式获取它,请使用 WMI:

      SelectQuery query = new SelectQuery("select CommandLine from Win32_Process where Name='thirdparty.exe'");
      ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
      foreach (var process in searcher.Get())
      {
        Debug.WriteLine(process.GetPropertyValue("CommandLine"));
      }
      

      如果您只想查看命令行,可以使用Process Explorer

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-06
        • 1970-01-01
        • 2015-08-05
        相关资源
        最近更新 更多