2012-03-29 126 views
0
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); 
} 

爲什麼它說「未聲明的標識符」我不明白!?SetWindowsHookEx HOOKPROC未聲明的標識符

+1

在什麼字符串? – iehrlich 2012-03-29 02:06:54

+0

什麼是確切的錯誤信息? – 2012-03-29 02:13:46

+0

@Michael Burr錯誤錯誤C2065:'CallNext':未聲明的標識符\t d:\ cprogramming \ .......' – Abanoub 2012-03-29 02:16:16

回答

0

我想你沒有申報hDll和/或cbtProcAddr正確 - 如果他們的COwnQuerDlg類的成員,你必須聲明它們就像你用hook做這件事的方法中沒有聲明。

+0

是啊,我在按鈕方法裏面聲明它們。 – Abanoub 2012-03-29 02:15:08