COMEvents 範例:示範建立和使用 COM 事件
更新:2007 年 11 月
COMEvents 範例示範使用 COM 的事件處理。
![]() |
---|
這個程式碼範例僅供概念說明之用,同時因為範例中的程式碼撰寫並沒有周全的顧及所有安全性問題,所以本範例不適用於實際執行的應用程式或網站中。如果使用者擅自將範例程式碼用於其他意圖而導致連帶事件或重大損害時,Microsoft 將不承擔任何責任。 |
若要取得範例和指示以便進行安裝:
按一下 Visual Studio [說明] 功能表上的 [範例]。
如需詳細資訊,請參閱尋找範例檔案。
最新版的完整範例清單可從 Visual Studio 2008 範例網頁 (英文) 取得。
您也可以將範例置於電腦硬碟中。 根據預設,範例和讀我檔案都會複製到 \Program Files\Visual Studio 9.0\Samples\ 下的資料夾中。對於所有的 Visual Studio Express 版,所有範例都可在線上找到。
建置和執行範例
建置並執行 COMEvents
開啟 COMEvents.sln 方案檔。
在 [建置] 功能表中,按一下 [建置方案]。
以滑鼠右鍵按一下 [方案總管] 中的 [EventReceiver] 節點,然後選取 [設定為啟始專案]。
從 [偵錯] 功能表中,按一下 [啟動但不偵錯]。
範例如何操作
COMEvents 範例會分別使用 event_source 和 event_receiver 屬性 (Attribute),建立事件來源 CSource 和事件接收者 CSink。
事件來源會將 IEvent、IEvent2 和 IJW 介面中的方法宣告為事件 (如需介面的定義,請參閱 Ifaces.h)。
事件接收者則會宣告 f1 到 f6 的處理常式方法,並將每一個處理常式連結到一個事件。
主程式碼會將 CSource 和 CSink 執行個體化。CSink 建構函式會執行攔截。主程式碼接著引發事件,取消攔截事件,然後再次引發事件。