C++ CALLBACK函数类型

标签 c++ winapi win32-process

我正在尝试在 Win32 中创建类似 MsgProc 的东西。当他们声明 MsgProc 函数时,它们前面有 CALLBACK 类型。所以,我想做的就是创建我自己的消息函数,调用我的函数来处理消息。发送和处理消息时基本上是一样的。我的问题是如何创建相同的流程?一个例子会很棒。

最佳答案

除了经典的函数指针和函数对象之外,您可能会对新的 C++0x lambda 感兴趣。

这是将 lambda 传递给计时器函数的示例。

#include <windows.h>
#include <iostream>
#include <functional>

void onInterval(DWORD interval, std::function<void ()> callback) {
  for (;;) {
    Sleep(interval);
    callback();
  }
}

int main() {
  onInterval(1000, []() {std::cout<<"Tick! ";});
}

关于C++ CALLBACK函数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4290562/

相关文章:

C++,网络浏览器控件 : cannot change encoding/charset

c++ - 在堆栈上创建类实例

c++ - Boost 的 TCP basic_resolver_query 构造函数的参数

c++ - 让两个窗口毫不拖延地粘在一起

c++ - 如何确定进程设置为 REAL_TIME 优先级

windows - isZoomed() 功能在我的客户端代码中不起作用

c++ - 将 char 数组传递给函数

python - 如何在 python 中使用 winapi SetWinEventHook?

c++ - 可移植设备的 Windows 句柄

windows - 为什么 WmiPrvSE.exe 持有我进程的作业对象的句柄?