写了个dll文件,想实现消息钩子,但是遇到一个奇葩错误,如图
// dllmain.cpp : Defines the entry point for the DLL application.
#include "pch.h"
#include <windows.h>
#include <WinUser.h>
#pragma data_seg("shareddata")
HHOOK sharedwnd=NULL;//共享数据
#pragma data_seg()
LRESULT CALLBACK MessageProc(int nCode,WPARAM wparam,LPARAM lparam);
BOOL APIENTRY DllMain(HMODULE /* hModule */, DWORD ul_reason_for_call, LPVOID /* lpReserved */)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
sharedwnd =SetWindowsHookEx(WH_CALLWNDPROC,MessageProc,NULL,NULL);
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
LRESULT CALLBACK MessageProc(int nCode,WPARAM wparam,LPARAM lparam)
{
}
但问题是vs2012一直报未定义标识符SetWindowsHookEx(),但我明明加了头文件winuser.h啊,真的是没办法了