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부분이 정상적으로 실행 되도록하려면 어떻게 해야하죠..
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676093 | 현재프로그램 파일이름을 추출하는걸알고싶습니다 (1) | 도1도캣 | 2024-11-24 |
2676066 | exe를 소스로 만드는법좀.. (3) | 회전력 | 2024-11-23 |
2676034 | 이런 창은 어떻게 지우나요? | 수련 | 2024-11-23 |
2676006 | 질문하나더~ | 찬바리 | 2024-11-23 |
2675930 | 작업관리자 차단 | 별빛 | 2024-11-22 |
2675901 | 숫자를 제외한 문자를 어떻게 나타내야될까요? | 진나 | 2024-11-22 |
2675871 | 거의마지막질문인데요 | 아메 | 2024-11-22 |
2675846 | 제가 완성햇는데요 ㅎ; | 거늘 | 2024-11-21 |
2675824 | 타이머. 프로그래스바 코드 질문입니다. (10) | 빛글 | 2024-11-21 |
2675798 | 이걸 머라고해야 할지모르지만 질문합니다 (2) | 리라 | 2024-11-21 |
2675772 | 구구단 함수 질문이요~! (1) | 테이 | 2024-11-21 |
2675746 | exe저장시 런타임53 에러 | 아픔이보여 | 2024-11-20 |
2675718 | ocx 설치법 | 달달한캔디 | 2024-11-20 |
2675630 | ""안에 큰따음표 넣기. | 터전 | 2024-11-19 |
2675519 | 컴파일 오류 ?? | 슬아라 | 2024-11-18 |
2675492 | 비베 수다 사이트채팅 접속방법 | 마법 | 2024-11-18 |
2675463 | ㅠㅠ;; | 지은 | 2024-11-18 |
2675434 | 타이머로 라벨바꾸는거 (2) | 대나무 | 2024-11-18 |
2675386 | 선형보간법 문의 | 나길 | 2024-11-17 |
2675328 | 프로세스 강제종료하는방법좀... (1) | 슬아라 | 2024-11-17 |