網上看到一些關於c++模擬和c#類似的event處理,這裡記錄一下:
新建乙個event.h標頭檔案:
#pragma once
template class event
; virtual void remove(const handler value) ;
public:
//建構函式
event() : m_handler(null) {}
//+= 操作符
event& operator += (const handler value)
//-=操作符
event& operator -= (const handler value)
//pfn_event_handle 操作符
operator handler()
};
再建乙個類:myclass.h
#pragma once
#include "stdafx.h"
//定義eventhandler的函式指標型別
typedef void(*eventhandler)(char* testchar);
class myclass
; //宣告乙個事件
eventaevent;
//激發事件
void fireevent(char* testchar)
; }};
注意新增引用(位於stdafx.h),根據實際情況自行新增:
// stdafx.h : 標準系統包含檔案的包含檔案,
// 或是經常使用但不常更改的
// 特定於專案的包含檔案
//#pragma once
#include "targetver.h"
#include #include #include "event.h"
#include "myclass.h"
// todo: 在此處引用程式需要的其他標頭檔案
主函式測試**:
//#include "stdafx.h"
void myeventhandler1(char* testchar);
void myeventhandler2(char* testchar);
int main()
void myeventhandler1(char* testchar)
void myeventhandler2(char* testchar)
測試結果:
C 模擬鍵盤事件
c 模擬鍵盤事件 public partial class form1 form dllimport user32.dll public static extern intptr findwindow string lpclassname,string lpwindowname 匯入尋找window...
C 模擬鍵盤滑鼠事件
1.模擬鍵盤事件 system.windows.forms.sendkeys 以下是 sendkeys 的一些特殊鍵 表。鍵 backspace 或 break caps lock del 或 delete 或 down arrow 下箭頭鍵 end enter 或 esc help home in...
c 中事件模型的模擬
using system using system.collections.generic using system.linq using system.text namespace csharp基礎 static void but action object sender,actioncancel...