可能重复:
如何判断win32应用程序是否使用.NET运行时
有一种方法可以手动识别特定的".exe"进程是用C++(非托管代码)还是用C#(托管代码)编写的?
如果你试图确定一个进程是否是一个.NET进程,我可以建议一个解决方案,灵感来自Dave Van den Eynde在这个主题中的答案:如何判断win32应用程序是否使用.NET运行时
"如果应用程序需要运行mscoree.dll,那么它就是.NET可执行文件."
鉴于此,您检查进程的模块以查看是否列出了mscoree.
foreach (var process in Process.GetProcesses())
{
if (process.Modules.OfType<ProcessModule>().Any(m => m.ModuleName.Equals("mscoree.dll", StringComparison.OrdinalIgnoreCase)))
{
Console.WriteLine("{0} is a .NET process", process.ProcessName);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9701 次 |
| 最近记录: |