static std::function<LRESULT(int nCode, WPARAM wParam, LPARAM lParam)> keyProc =
[](int nCode, WPARAM wParam, LPARAM lParam)->LRESULT {
return 1;
};
keyHook = SetWindowsHookEx(WH_KEYBOARD_LL, keyProc, theApp.m_hInstance, NULL);
Ошибка C2664 «HHOOK SetWindowsHookExW (int, HOOKPROC, HINSTANCE, DWORD)»: невозможно преобразовать аргумент 2 из «std :: function» в «HOOKPROC» MFCTest d: \ test \ mfctest2 \ mfctest \keymaphooker.cpp 62
PS: Почему я использовал такое длинное выражение, а не авто?Потому что я хочу, чтобы оно было статичным.
Я изменил его на
auto keyProc =
[this](int nCode, WPARAM wParam, LPARAM lParam)->LRESULT {
return 1;//return KeyboardProc(keyHook, keyMap, nCode, wParam, lParam);
};
Он снова не работает.
ошибка C2664: 'HHOOK SetWindowsHookExW (int, HOOKPROC, HINSTANCE, DWORD) ': невозможно преобразовать аргумент 2 из' KeyMapHooker :: StartHook :: 'в' HOOKPROC '