標籤:china img watch 網上 log sof 進程建立 art post
直入主題,在網上看到關於c#進程監控大多都是用遍曆一次進程然後用if去判斷的方法,我覺得似乎體驗不是很好,這幾天寫第一個軟體正好需要即時監控進程的模組,在網上找到了很不錯的方法,整理一下分享出來給大家。
1 private void Watcher_NewProcessCreated() 2 { 3 EventQuery query = new EventQuery(); 4 query.QueryString = "SELECT * FROM" + 5 " __InstanceCreationEvent WITHIN 1 " + 6 "WHERE TargetInstance isa ‘Win32_Process‘"; 7 8 ManagementEventWatcher watcher = 9 new ManagementEventWatcher(query);10 11 12 watcher.EventArrived += NewProcess_Created;13 14 watcher.Start();15 }16 private void NewProcess_Created(object sender, EventArrivedEventArgs se)17 {18 ManagementBaseObject e = se.NewEvent;19 string Processname = ((ManagementBaseObject)e["TargetInstance"])["Name"].ToString();20 string ExecutablePath = ((ManagementBaseObject)e["TargetInstance"])["ExecutablePath"].ToString();21 22 Debug.WriteLine("進程建立:"+Processname+",進程檔案路徑:"+ExecutablePath);23 }關鍵代碼
怎麼使用我想就不用多說了,這裡使用了wmi技術去實現,我只是分享方法,就不過多解釋了(根本就是我自己也不懂好吧)。
參考了(抄襲):http://blog.chinaunix.net/uid-108863-id-112154.html,http://blog.csdn.net/breaksoftware/article/details/50543906
C#進程監控,即時進程監控,進程監視