我没有源代码的程序正在执行第三方EXE文件。我想找出它发送到EXE文件的参数(即thirdparty.exe -c“foo”-d“bar”)。我知道初始程序是用Visual Basic编写的。
我是否可以运行任何可以监控执行调用并拦截参数的工具?
任何帮助都将不胜感激。
答案 0 :(得分: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。
答案 1 :(得分:1)
使用Image File Execution Options。通过适当地设置注册表项,您可以让操作系统执行您选择的可执行文件(而不是thirdparty.exe),允许您转换参数并自行运行thirdparty.exe,如果这是您需要的。中间程序可能甚至不知道差异。