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

淺析C++程序監(jiān)視Windows事件日志

開發(fā) 后端
想要充分的掌握C++程序監(jiān)視Windows事件日志的技術(shù),那么就要對C++中的結(jié)構(gòu)、語句、變量、函數(shù)、預(yù)處理指令、輸入和輸出等內(nèi)容進(jìn)行了解掌握。

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

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

1、定義一個(gè)托管類并實(shí)現(xiàn)事件日志通知處理程序

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

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

2、實(shí)例化一個(gè)EventLog對象,并把它的EnableRaisingEvents屬性設(shè)為true

屬性EventLog::EnableRaisingEvents是一個(gè)布爾類型,其控制了在項(xiàng)目添加到EventLog對象指定的日志時(shí),是否引發(fā)事件:

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

3、把事件處理程序連接到"新事件日志項(xiàng)"事件

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

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

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

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

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

【編輯推薦】

  1. C與C++中標(biāo)準(zhǔn)輸入實(shí)現(xiàn)方式上的一點(diǎn)區(qū)別
  2. C++編譯器如何對Const常量進(jìn)行分配存儲空間
  3. C++類庫設(shè)計(jì)的基本構(gòu)思與方法
  4. 玩轉(zhuǎn)C++語言的幾種方法
  5. 如何更好的進(jìn)行C++代碼編制
責(zé)任編輯:chenqingxiang 來源: 博客園
相關(guān)推薦

2009-08-14 11:00:16

C#創(chuàng)建Windows

2009-08-14 15:47:18

C#Windows服務(wù)

2009-08-14 15:06:08

Windows服務(wù)程序

2009-08-14 14:25:09

Windows服務(wù)程序

2010-01-21 09:34:57

C++語法

2010-01-27 16:05:06

C++堆棧

2010-01-22 13:59:34

Visual C++應(yīng)

2009-08-14 14:17:16

C#Windows服務(wù)

2009-08-12 15:20:21

C#事件處理

2010-01-12 14:45:32

Visual C++

2010-01-25 16:58:15

C++程序

2009-08-14 15:19:38

Windows服務(wù)程序Windows服務(wù)

2010-01-20 10:19:55

C++數(shù)組

2010-01-27 17:16:52

C++構(gòu)造函數(shù)

2010-01-13 14:18:52

Windows Emb

2009-08-25 09:39:21

創(chuàng)建C# Window

2009-09-02 17:28:26

C#程序設(shè)計(jì)Windows窗體

2009-08-14 16:41:22

C#啟動Windows

2010-01-11 10:34:22

C++程序

2009-09-07 04:19:56

C#窗體事件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久久久国产精品一区三寸 | 日韩毛片在线免费观看 | 高清欧美性猛交xxxx黑人猛交 | 人人澡人人射 | 欧美日韩一区精品 | 亚洲激情专区 | 久久成人一区 | 男人天堂网址 | 中文字幕在线看 | 四虎成人免费视频 | 亚洲精品久久久一区二区三区 | 精品九九九 | 久久一区二区三区电影 | 国产黄色网 | 欧美一区二区三区国产 | 亚洲精品一区二区三区中文字幕 | 北条麻妃99精品青青久久 | 不卡视频一区二区三区 | 亚洲视频一区二区三区 | 亚洲第一网站 | 男人天堂网址 | 欧美1区2区 | 荷兰欧美一级毛片 | 亚洲视频在线一区 | 国产亚洲一区二区三区 | 男女免费在线观看视频 | 日韩二区 | 欧美日韩不卡合集视频 | www.狠狠干| 神马影院一区二区三区 | 久久男人 | 国产亚洲精品久久久久久牛牛 | 国产精品久久久久久久久久久久 | 亚洲三级国产 | 久久91av| 在线一区二区观看 | 欧美精品片| 久久久久久九九九九 | 性高朝久久久久久久3小时 av一区二区三区四区 | 黑人精品欧美一区二区蜜桃 | 亚洲高清一区二区三区 |