有點搜索返回這個結果:Which processes are running managed code and which version?如何確定是否在C#中管理進程?
但是我想知道是否有一個'更好'的方式,然後只是迭代,雖然加載模塊?看起來有點奇怪,查找字符串「mscorwks.dll」。閱讀儘管MSDN上的Process Class似乎並未指出明顯的解決方案。
假設而
- .NET 4.0
- 我有一個 「過程」 在手
謝謝
有點搜索返回這個結果:Which processes are running managed code and which version?如何確定是否在C#中管理進程?
但是我想知道是否有一個'更好'的方式,然後只是迭代,雖然加載模塊?看起來有點奇怪,查找字符串「mscorwks.dll」。閱讀儘管MSDN上的Process Class似乎並未指出明顯的解決方案。
假設而
謝謝
對於任何未來的Google:我結束了使用貼在這裏How to check if a program is using .NET?建議的答案
Process mProcess = //Get Your Process Here
foreach (ProcessModule pm in mProcess.Modules)
{
if (pm.ModuleName.StartsWith("mscor", StringComparison.InvariantCultureIgnoreCase))
{
return true;
}
}
順便尋找「mscorwks(感謝0xA3執行!)。如我在原來的帖子中提到的「dll」不適用於.NET 4.0。
在代碼中,獲得執行過程的完整路徑。 嘗試在流程上使用Assembly.Load
。如果成功,這是一個.NET程序集:)
定義「託管代碼」。 Java被管理,解釋語言也被管理。您是否對.NET程序集或任何類型的託管代碼特別感興趣? – 2011-02-14 22:29:28
我不認爲它很古怪。這是核心庫dll的文件名。 – Amy 2011-02-14 22:30:23