可以。净检查其他正在运行的程序的命令行参数?
-
09-06-2019 - |
题
我们已经有了一个有趣的情况下,我们正试图确定如何不同的情况下,我们的应用程序已经启动。是否有任何方法。净能够查询另一个运行实例和获得的命令行传递的参数的实例?我一直没能找到任何方式这样做。净迄今为止,所以我想我会在这里检查,看看是否有人已经做过这样的事之前。
解决方案
你可以检索这一信息通过WMI。
看看 Win32_Process 类,特别是其命令行的财产。此 代码项目的文章 提供的指针,关于如何做到这一点,
其他提示
通常这些变量存储在该程序的存储空间,你应该(在理论上)不应当能够访问。
你只需要找出如何启动的进程通信的其他实例以及贸易数据。命名为管道是一个很好的选择,但是你可能想要开始一个新的计算器的问题得到很好的选择。
-亚当
对于未来的参考,这是一段代码,从我怎么拿到它的工作。这只是个测试,看看它是如何工作。实际的实施代码分析的命令行的参数对于我们所需要的。
try
{
ManagementScope connectScope = new ManagementScope();
connectScope.Path = new ManagementPath(@"\\" + Environment.MachineName + @"\root\CIMV2");
SelectQuery msQuery = new SelectQuery("SELECT * FROM Win32_Process Where Name = '" + "PROGRAMNAMEHERE.exe" + "'");
ManagementObjectSearcher searchProcedure = new ManagementObjectSearcher(connectScope, msQuery);
foreach (ManagementObject item in searchProcedure.Get())
{
try
{
MessageBox.Show(item["CommandLine"].ToString());
}
catch (SystemException)
{}
}
}
不隶属于 StackOverflow