如何在不使用系统进程的情况下获取当前正在运行的应用程序?
答案 0 :(得分:6)
这取决于你的目标。如果您对呼叫您的程序集感兴趣,那么您可以使用GetCallingAssembly。您也可以使用GetExecutingAssembly。
答案 1 :(得分:0)
System.Diagnostics.Process.GetProcesses("MACHINEHAME")
答案 2 :(得分:0)
这里有轻微的误解。在任何给定的机器上,可以有多个当前运行过程。考虑机器有多个CPU的情况。事实上,每个CPU至少可以运行一个单独的线程,这是可能的。很有可能在任何给定时间,当前在机器上运行的进程数量将接近系统上的处理器数量。
对于单个处理器,获取当前运行进程的行为是多余的。它只是你的应用程序。
如果要在不使用Process类的情况下调查当前计算机上运行的进程,可以将PInvoke引入Process32First和Process32Next系统调用。
答案 3 :(得分:0)
如果您使用的是.NET,无论您最终使用什么机制,请确保您注意.NET代码访问安全性。阅读MSDN文档,了解您使用的类,方法是否需要完全信任。如果您的应用程序应在部分信任或特权较低的信任环境中运行,则可能会出现问题。