2011-12-29 9 views
1

ちょっとした説明が必要です。新しいプロセスのリッスン:簡単な説明が必要

私はプロセスを聞くことに関して質問hereを参照しています。コメントに記載されているように「アクセス拒否」エラーが表示されていますが、この例の管理者としてWMIサービスを実行する方法がわかりません。誰かが正しい方向に私を指してください。

これまで私がこれまで持っていたことは次のとおりです。

startWatch = new ManagementEventWatcher(new WqlEventQuery("SELECT * FROM Win32_ProcessStartTrace")); 
startWatch.EventArrived += new EventArrivedEventHandler(ProcessEvent); 
startWatch.Start(); 

private void ProcessEvent(object sender, EventArrivedEventArgs e) 
{...} 
+0

このサイトをチェックしてください。..また、あなたが実際にWMIが..私は私のマシン上で管理者ではないと私はすべての時間WMIを使用するマシンにインストールされています。私はあなたに1秒でサンプルを送りますhttp://msdn.microsoft.com/en-us/library/windows/desktop/aa394594(v=vs.85).aspx 30秒で作業コード例を投稿します – MethodMan

+0

あなたはどのように管理者権限の問題を解決しましたか? – GreenEyedAndy

+0

@ GreenEyedAndy私が受け入れた答えを見てください。私のコードをその答えに類似するように変更すると、私は管理者の権利を気にする必要がないことが分かったと思います。最悪の場合、いつでもあなたのアプリを起動するための権限を変更して、管理者権限を必要とするか、実行形式を使用することができます。 –

答えて

1
ManagementScope theScope = new ManagementScope("\\\\ComputerName\\root\\cimv2"); 
ObjectQuery theQuery = new ObjectQuery("SELECT * FROM Win32_ProcessStartTrace"); 
ManagementObjectSearcher theSearcher = new ManagementObjectSearcher(theScope, theQuery); 
ManagementObjectCollection theCollection = theSearcher.Get(); 
foreach (ManagementObject theCurObject in theCollection) 
{ 
    MessageBox.Show(theCurObject["whatever properties you are looking for"].ToString()); 
} 
+0

素晴らしいです、ありがとうございます。また、私は別のスレッドを使用して終了し、あなたが私が改訂時に述べたように管理者権限を必要としませんでした。リンクと助けを感謝します:) –

+0

私は助けることができるうれしい幸せな問題です...新年あけましておめでとうございます。 – MethodMan

+0

@MethodMan: 'C++'で同じことをする方法? – Jackzz

関連する問題