key 후킹 질문입니다.
가시내
#include windows.hLRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
HINSTANCE g_hInst;
LPCTSTR lpszClass=TEXT(Mouse);int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance
,LPSTR lpszCmdParam, int nCmdShow)
{
HWND hWnd;
MSG Message;
WNDCLASS WndClass;
g_hInst=hInstance;WndClass.cbClsExtra=0;
WndClass.cbWndExtra=0;
WndClass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
//WndClass.LoadIcon(NULL,IDI_APPLICATION);
WndClass.hInstance=hInstance;
WndClass.lpfnWndProc=WndProc;
WndClass.lpszClassName=lpszClass;
WndClass.lpszMenuName=NULL;
WndClass.style=CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;
RegisterClass(&WndClass);hWnd=CreateWindow(lpszClass,lpszClass,WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
NULL,(HMENU)NULL,hInstance,NULL);
ShowWindow(hWnd,nCmdShow);while(GetMessage(&Message,NULL,0,0)){
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return (int)Message.wParam;
}LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
SYSTEMTIME st;
static TCHAR sTime[128];
static TCHAR str[256];
int len;switch(iMessage){
case WM_CREATE:
CreateWindow(TEXT(button),TEXT(START),WS_CHILD | WS_VISIBLE |
BS_PUSHBUTTON,20,20,100,25,hWnd,(HMENU)0,g_hInst,NULL);
CreateWindow(TEXT(button),TEXT(START2),WS_CHILD | WS_VISIBLE |
BS_PUSHBUTTON,20,50,100,25,hWnd,(HMENU)1,g_hInst,NULL);
SetTimer(hWnd,3,1000,NULL);
SendMessage(hWnd,WM_TIMER,3,0);
return 0;
case WM_COMMAND:
switch(LOWORD(wParam)){
case 0:
case WM_CHAR:
len=lstrlen(str);
str[len]=(TCHAR)wParam;
str[len+1]=0;
InvalidateRect(hWnd,NULL,TRUE);
return 0;
break;
case 1:
MessageBox(hWnd,TEXT(Second Button Clicked),TEXT(Button),MB_OK);
break;
}
return 0;
case WM_TIMER:
GetLocalTime(&st);
wsprintf(sTime,TEXT(현재 시간 %d:%d:%d입니다),
st.wHour,st.wMinute,st.wSecond);
InvalidateRect(hWnd,NULL,TRUE);
return 0;
case WM_PAINT:
hdc=BeginPaint(hWnd,&ps);
TextOut(hdc,750,50,sTime,lstrlen(sTime));
TextOut(hdc,100,100,str,lstrlen(str));
EndPaint(hWnd,&ps);
return 0;
case WM_DESTROY:
KillTimer(hWnd,3);
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}빨간색으로 된 부분에서 case 0:이면 아래의 문장 case WM_CHAR을 실행하고 싶은데..아래의 그림처럼 START를 누르고 난 후 WM_CHAR 이니깐 키보드를 입력하면 실행이 입력한 내용이 출력이 되도록 구현하고자하는데.. case WM_CHAR아래의 문장이 실행이 안됩니다..
-
한결
화면은 정상적으로 뜨고, START를 누르고 키보드를 누르면 누른 키보드의 값이 출력이 되어야하는데..출력이 안됩니다..START2를 눌렀을경우 팝업창이 정상적으로 뜹니다...
case WM_CHAR부분이 정상적으로 실행 되도록하려면 어떻게 해야하죠..
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2694875 | 부산시 교통카드를 주제로.... (1) | 윤슬이뿌잉 | 2025-05-15 |
2694801 | 콤보박스 대한거 | 윤비 | 2025-05-14 |
2694779 | html 질문여 | 지옥 | 2025-05-14 |
2694732 | 문자 뒤에서 자르기?? | agine | 2025-05-13 |
2694703 | 컴파일이 안되네요 (1) | 옆집꼬마야 | 2025-05-13 |
2694676 | 끄기라는 커맨드버튼을누르면 | 은솔 | 2025-05-13 |
2694560 | 프로그램 차단의 대해서 | 미라 | 2025-05-12 |
2694533 | 비베와 c 중 머가 좋을까요? | 보르미 | 2025-05-12 |
2694504 | 사이트 글 작성 소스 문의 ,, (2) | 마루나 | 2025-05-11 |
2694421 | 리스트 박스... 다음으로 넘어가기? | 난슬 | 2025-05-11 |
2694399 | RegWrite 등록확인방법이있나요? | 하린 | 2025-05-10 |
2694340 | 아스키코드 출력 | 다힘 | 2025-05-10 |
2694286 | 1,900,000 - 백 구십 만원 (6) | 허우룩 | 2025-05-09 |
2694230 | 텍스트복사 | 거북이 | 2025-05-09 |
2694203 | 당신의 지식을 공유해주세요! | 후예 | 2025-05-09 |
2694174 | 디버거 크랙방지 (8) | 덕이 | 2025-05-08 |
2694146 | 수다 사이트글 조회한사람 목록추출가능? (5) | 곰돌츼 | 2025-05-08 |
2694070 | vb_vbnet님의 사이트댓글자동작성기인데 이것을요. | 가시 | 2025-05-07 |
2694041 | 모듈은 무었인가요? | 하람 | 2025-05-07 |
2694013 | 비쥬얼베이직 책 추천좀요^^... | 초코맛캔디 | 2025-05-07 |