成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺析C++程序監視Windows事件日志

開發 后端
想要充分的掌握C++程序監視Windows事件日志的技術,那么就要對C++中的結構、語句、變量、函數、預處理指令、輸入和輸出等內容進行了解掌握。

下面的文章主要講述如何使用C++程序中監視Windows事件日志,還可以對程序進行擴充,如在事件日志記錄到特定的事件類型時,發電子郵件通知用戶,本文提供的C++程序代碼充分的說明。

 .NET 1.0/1.1托管C++程序,如果你在使用一個更高版本的 .NET,需要在工程屬性對話框中設置/clr:oldSyntax編譯選項,或調整以下代碼使之符合新的托管語法。用于Windows事件日志的關鍵 .NET類型是Diagnostics::EventLog類。

1、定義一個托管類并實現事件日志通知處理程序

處理程序(OnNewLogEntry)會在"新事件日志項"事件引發時調用,同時,請注意此處的EntryWrittenEventHandler,以下是示例代碼:

  1. __gc class NewLogEntryEventHandler  
  2. {  
  3.  public:  
  4.   NewLogEntryEventHandler() {}  
  5.  public:  
  6.   void OnNewLogEntry(Object* sender, EntryWrittenEventArgs* e)  
  7.   {  
  8.    //獲取并處理最近創建的項  
  9.    EventLogEntry* eentry = e->Entry;  
  10.   }  
  11. }; 

2、實例化一個EventLog對象,并把它的EnableRaisingEvents屬性設為true

屬性EventLog::EnableRaisingEvents是一個布爾類型,其控制了在項目添加到EventLog對象指定的日志時,是否引發事件:

  1. EventLog* log = new EventLog("Application");  
  2. log->EnableRaisingEvents = true;  

3、把事件處理程序連接到"新事件日志項"事件

首先,實例化定義了事件處理程序的對象(在此例中為NewLogEntryEventHandler),接著,把事件方法(OnNewLogEntry)添加到EventLog::EntryWritten的事件處理程序列表中:

  1. NewLogEntryEventHandler* handler = new NewLogEntryEventHandler();  
  2. log->EntryWritten +=  
  3. new EntryWrittenEventHandler( handler,&NewLogEntryEventHandler::OnNewLogEntry); 

4、為特定事件的處理編寫代碼

回過頭來看一個OnNewLogEntry方法,可以看到傳遞給事件處理程序的EntryWrittenEventArgs對象有一個名為EventLogEntry的成員,其包含了有關記錄項目的詳細情況,具體為以下屬性:

  1.   ·MachineName--創建事件日志的電腦系統名。   
  2.  
  3.   ·Source--創建此事件的事件源或程序源。  
  4.  
  5.   ·Message--用戶可在事件查看器中讀取這條文本值,其描述了記錄的事件。  
  6.  
  7.   ·Event Type--此值(代表了EventLogEntryType)為一個枚舉值,其代表記錄的事件類型:信息(默認)、警告、錯誤、審核成功、審核失敗。  
  8.  
  9.   ·Event ID--為有關事件程序特定的號碼。  
  10.  
  11.   ·Data--此值通常用于存儲二進制信息--如內存轉儲--也是與事件有關的。 

【編輯推薦】

  1. C與C++中標準輸入實現方式上的一點區別
  2. C++編譯器如何對Const常量進行分配存儲空間
  3. C++類庫設計的基本構思與方法
  4. 玩轉C++語言的幾種方法
  5. 如何更好的進行C++代碼編制
責任編輯:chenqingxiang 來源: 博客園
相關推薦

2009-08-14 11:00:16

C#創建Windows

2009-08-14 15:47:18

C#Windows服務

2009-08-14 15:06:08

Windows服務程序

2009-08-14 14:25:09

Windows服務程序

2010-01-21 09:34:57

C++語法

2010-01-27 16:05:06

C++堆棧

2009-08-12 15:20:21

C#事件處理

2009-08-14 14:17:16

C#Windows服務

2010-01-22 13:59:34

Visual C++應

2010-01-25 16:58:15

C++程序

2009-08-14 15:19:38

Windows服務程序Windows服務

2010-01-12 14:45:32

Visual C++

2010-01-20 10:19:55

C++數組

2010-01-27 17:16:52

C++構造函數

2010-01-13 14:18:52

Windows Emb

2009-08-25 09:39:21

創建C# Window

2009-09-02 17:28:26

C#程序設計Windows窗體

2009-08-14 16:41:22

C#啟動Windows

2010-01-11 10:34:22

C++程序

2009-09-07 04:19:56

C#窗體事件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲高清一区二区三区 | 免费亚洲视频 | www.久| 一区二区国产精品 | 欧美一级免费 | 久久尤物免费一区二区三区 | 精品国产高清一区二区三区 | 国产精品明星裸体写真集 | 国产不卡一区 | 亚洲成人免费观看 | 欧美视频1区 | 国产小视频自拍 | 成人av网站在线观看 | 欧美日韩高清免费 | 欧美黄 片免费观看 | 午夜影院在线视频 | 日韩av免费看 | 国产一区二区三区在线看 | 麻豆久久久久久 | 亚洲一区中文字幕 | 成人免费影院 | www.99久久.com| 国产三区精品 | 午夜视频一区 | 欧美在线综合 | 日韩精品一区二区三区中文在线 | 九九久久99 | 毛片一级片 | av片免费| 久久久成人网 | 99热在线免费 | 久久久久久国产精品mv | 亚洲精品福利在线 | 欧美日韩综合 | 在线视频一区二区 | 国内精品久久久久久久 | 毛片黄 | 最新中文字幕一区 | 欧美精品乱码久久久久久按摩 | 高清成人av | 啪啪综合网|