请有人给我一些为 MS winapi 函数创建函数指针的提示吗?我试图为 DefWindowProc (DefWindowProcA/DefWindowProcW) 创建一个指针,但出现此错误:
LRESULT (*dwp)(HWND, UINT, WPARAM, LPARAM) = &DefWindowProc;
error C2440: 'initializing' : cannot convert from
'LRESULT (__stdcall *)(HWND,UINT,WPARAM,LPARAM)'
to 'LRESULT (__cdecl *)(HWND,UINT,WPARAM,LPARAM)'
我不知道我需要使用什么,因为我不习惯 MS ascii/wide 宏。顺便说一句,我正在创建一个函数指针来进行快速破解,不幸的是我没有时间解释原因 - 但无论如何,我认为这个问题将对需要创建 winapi 函数指针的人有所帮助。
Update:
这段代码可以工作,但我担心这是不好的做法(并且不遵守 unicode/ascii 编译选项)。我应该定义两个规范吗?
LRESULT (__stdcall* dwp)(HWND, UINT, WPARAM, LPARAM) = &DefWindowProc;
更新2:
这更好(感谢 nobugz):
WNDPROC dwp = DefWindowProc;