2011-01-09 92 views
0

我想記錄用戶打開的所有程序和文件,以使用C#編程語言在Windows中創建自己常用的程序列表。感謝您的幫助。如何捕獲Windows操作系統事件? (C#)

+1

您可以跟蹤所有啓動的進程,請參閱http://stackoverflow.com/questions/1986249/c-process-monitor – 2011-01-09 18:02:42

回答

1

有沒有簡單的方法來實現這一點。 Windows不提供這樣的事件。

你可以做的是:

  1. 每幾秒鐘環通所有打開的窗口或正在運行的進程,並得到他們的信息。對於Windows枚舉您可以使用邏輯與:http://www.codeproject.com/KB/cs/WindowTabifier.aspx

  2. 您可以使用方法,如注入DLL進入任務管理器,Kernel32中鉤住了TerminateProcess。等等。相關樣本:http://www.codeproject.com/KB/threads/taskex.aspx

0
Process[] processlist = Process.GetProcesses(); 

foreach(Process theprocess in processlist){ 
Console.WriteLine(「Process: {0} ID: {1}」, theprocess.ProcessName, theprocess.Id); 
} 

這將爲您提供當前正在運行的流程的詳細信息,您是否可以定期查看此列表以查找已啓動的新應用程序。