本文介绍了如何检查程序是否正在使用 .NET?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们可以检查正在运行的应用程序或程序是否使用 .Net 框架来执行自身吗?

Can we check if a running application or a program uses .Net framework to execute itself?

推荐答案

我曾经从 Scott Hanselman 的 面试问题列表.您可以使用以下命令轻松列出所有运行 .NET 的程序:

There's a trick I once learned from Scott Hanselman's list of interview questions. You can easily list all programs running .NET in command prompt by using:

tasklist/m "mscor*"

它将列出所有在其加载的模块中具有 mscor* 的进程.

It will list all processes that have mscor* amongst their loaded modules.

我们可以在代码中应用相同的方法:

We can apply the same method in code:

public static bool IsDotNetProcess(this Process process)
{
  var modules = process.Modules.Cast<ProcessModule>().Where(
      m => m.ModuleName.StartsWith("mscor", StringComparison.InvariantCultureIgnoreCase));

  return modules.Any();
}

这篇关于如何检查程序是否正在使用 .NET?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-05 04:19