SetWindowsHookEx HOOKPROC undeclared identifier

SetWindowsHookEx HOOKPROC undeclared identifier

本文关键字:identifier undeclared HOOKPROC SetWindowsHookEx      更新时间:2023-10-16
static LRESULT CALLBACK CallNext(int nCode, WPARAM wParam, LPARAM lParam){
    return CallNextHookEx(0, nCode, wParam, lParam);
}
void COwnQuerDlg::OnBnClickedButton1()
{
  HMODULE hDll;
  FARPROC cbtProcAddr;
  hDll = GetModuleHandle("WS2_32.dll");
  cbtProcAddr = GetProcAddress(hDll, "inet_addr");
  HHOOK hook = SetWindowsHookEx(WH_CBT,CallNext,hDll,0);
}

为什么它说"未声明的标识符"我不明白!?

我猜你没有正确声明hDll和/或cbtProcAddr - 如果它们没有声明为 COwnQuerDlg 类的成员,你必须在方法中声明它们,就像你对 hook 所做的那样。