1

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

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

任何帮助,将不胜感激。

4

2 回答 2

3

要以编程方式获取它,请使用 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进行。

于 2010-02-12T02:00:01.777 回答
1

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

于 2010-02-12T02:22:44.353 回答