C 模擬 C 事件

2021-08-20 13:59:13 字數 1364 閱讀 9686

網上看到一些關於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...