2011-10-28 4 views
2

:私はVS2010のためにSP1を持っていなかったときVisual Studio 2010 SP1で問題が発生しましたか?私は特定のパラメータをJavaプロセスをキャッチするために、この小さなコードスニペットを使用してい

string query = "Select * From Win32_Process Where Name = 'javaw.exe'"; 
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query); 
ManagementObjectCollection processList = searcher.Get(); 

foreach (ManagementObject obj in processList) 
{ 
    string cmdLine = obj.GetPropertyValue("CommandLine").ToString(); 
    if (cmdLine.IndexOf("someapplication") != -1) 
    { 
     // ... 
    } 
} 

このコードは日だけのカップル前に魔法のように働きました。今は7行目にnullポインタ例外がスローされます。私は.NET Framework 2.0用にコンパイルしようとしています。

Help !? :/

+0

あなたはVisual Studio 2010 SP1が原因だと思いますか?それは非常にありそうもないようです。 –

+0

これはSP1にアップグレードした後に開始されました。しかし、問題はそこになかった、とにかくありがとう。 – dataviruset

答えて

1

これはおそらく、SP1以降はJavaの更新と関係がありません。 nullを確認してください:

string query = "Select * From Win32_Process Where Name = 'javaw.exe'"; 
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query); 
ManagementObjectCollection processList = searcher.Get(); 

foreach (ManagementObject obj in processList) 
{ 
    object cmdLineValue = obj.GetPropertyValue("CommandLine"); 

    if(cmdLineValue != null) { 
     string cmdLine = cmdLineValue.ToString(); 
     if (cmdLine.IndexOf("someapplication") != -1) 
     { 
      // ... 
     } 
    } 
} 
+0

これはそれでした。私は少し愚かな気がします...ありがとう:) – dataviruset

2
if (cmdLine != null && cmdLine.IndexOf("someapplication") != -1) 
+0

ええ、でも...私にこのように言わせてください。以前はcmdLine変数がnullになっていませんでした。 – dataviruset

関連する問題