Windows事件管理器相當(dāng)于android和linux上的日志文件但又功能強(qiáng)大很多艇纺,能夠配合計(jì)劃任務(wù)的事件偵聽觸發(fā)器羽历。
事件管理先是有類別和提供者,任意程序能通過Api向事件管理器中寫入事件芹缔。
在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog
可以看到有一些大的類別秋度。
然后類別下面又有不少子項(xiàng),每一個(gè)子項(xiàng)都是一個(gè)事件源惯疙。
事件記錄保存到磁盤上的%SystemRoot%\system32\winevt\Logs\
目錄中翠勉,比如:
Application.evtx
、Security.evtx
螟碎、System.evtx
眉菱。
事件源
事件源是記錄事件的軟件的名稱。 最多可以向注冊(cè)表添加 16掉分,384 個(gè)事件源俭缓。
安全日志僅供系統(tǒng)使用。 設(shè)備驅(qū)動(dòng)程序應(yīng)將其名稱添加到 系統(tǒng) 日志酥郭。 應(yīng)用程序和服務(wù)應(yīng)將其名稱添加到 應(yīng)用程序 日志或創(chuàng)建自定義日志华坦。
可以看到事件類別和事件.
Api
有兩套Api,一套是支持Xp的 OpenEventLog不从,一套是vista下才有的EvtOpenLog惜姐。
EvtOpenLog的一大特色就是通過Channel來訪問,使用Query語法來過濾自己想要查詢的事件。但Query語法文檔很少歹袁,可以在事件管理器自定義視圖中添加條件然后查看它的自定義視圖屬性中的XML頁簽坷衍。
<QueryList><Query Path='Application'><Select>Event/Application[EventID=4]</Select></Query></QueryList>
<QueryList><Query Id="0" Path='Application'><Select Path='Application'>*[System[Provider[@Name='Application Error']]]</Select></Query></QueryList>