"alt"키 입력을 처리하려고하는데 아무 일도 일어나지 않습니다. 나는 키 : 수() 함수에서 "ALT"키를 제외하고는 창문과 winuser 라이브러리"alt"키 입력을 처리하는 방법 api C++
#include <windows.h>
#include <winuser.h>
LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
KBDLLHOOKSTRUCT *hook=(KBDLLHOOKSTRUCT *)lParam;
std::string input;
if (wParam == WM_KEYUP) {
input = Key::get(hook->vkCode, 1);
}
else if (wParam == WM_KEYDOWN) {
input = Key::get(hook->vkCode, 0);
}
Key::print(input);
return 0;
}
나는 모든 키보드를 처리 할 수와 C++를 사용합니다. 아무도 그것을 처리하는 방법을 알고 있습니까?
std::string get(int code, int up) {
std::string input;
switch(code) {
case 0x12: input = "[ALT]"; break;
}
return input;
가 [편집]을 실제로 Alt 키를 처리하기 위해 사용 있어야 할 WM_SYSKEYDOWN 메시지이다, 나는 문제가 어디에 볼 충분 게시 마지막 코드를 생각했다. 절차를 게시하지 않았고 문제가있는 곳이 있습니다. 답장을 보내 주셔서 감사합니다.
? 문제를 진단 할 수있는 정보가 충분하지 않습니다. –
Microsoft 전설의 레이몬드 첸 (Raymond Chen)이 위에 언급 한 것을 추가하려면 스택 오버플로에 대한 모든 질문에 답할 수있는 [최소, 완전하고 검증 가능한 예제 (MCVE)]가 필요합니다. 링크 작성시 조언을 보려면 링크를 참조하십시오. – MrEricSir
추측 - Alt 키를 누르면 'WM_KEYDOWN' 메시지가 아닌'WM_SYSKEYDOWN' 메시지가 게시되며 둘 다 처리하지는 않습니다. –