수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

key 후킹 질문입니다.

가시내

2023.04.01

#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아래의 문장이 실행이 안됩니다..

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 한결

    화면은 정상적으로 뜨고, START를 누르고 키보드를 누르면 누른 키보드의 값이 출력이 되어야하는데..출력이 안됩니다..START2를 눌렀을경우 팝업창이 정상적으로 뜹니다...
    case WM_CHAR부분이 정상적으로 실행 되도록하려면 어떻게 해야하죠..

번호 제 목 글쓴이 날짜
2697073 컴퓨터 끄기를 누르면 끄기가 아니라 대기모드가 되게 하는방법좀요 (2) 플랜 2025-06-04
2697051 shell문을 입력후에클릭을하면..내문서가 열리네요...? (1) 사이 2025-06-04
2697024 타이머사용 나나 2025-06-04
2696970 text형식으로 저장할때 언어셋설정 질문!!! 핫팬츠 2025-06-03
2696917 sys우회 하는법 아시는분. . (1) 촉촉한 초코칩 2025-06-03
2696883 비쥬얼베이직 스튜디오 6.0 파일 콩알눈 2025-06-02
2696854 윈웹 렉이 너무 심하네요 (1) 팬지 2025-06-02
2696825 메이플스토리로그인(접속기) 소스오류, 해결바랍니다! 키다리 2025-06-02
2696800 그누보드 multipart 게시글작성 (3) HotPink 2025-06-02
2696640 이 소스의 모듈좀 주세용 ;; 파이팅 2025-05-31
2696591 다운프로그램 넣는법?? 아놀드 2025-05-31
2696566 수정해도 그래요 ㅜㅜ 다시한번 제발 이것좀 해결해주세요 ㅜ 하늘빛눈망울 2025-05-30
2696513 텍스트 활성 방법 좀... 힘찬 2025-05-30
2696466 ExitWindow함수로 컴퓨터 끄는 방법좀요 가장 2025-05-29
2696441 기억이안나서그런데 ㅠㅠ 란새 2025-05-29
2696412 리스트뷰 에 체크 할수 있게 하는법좀요;;;ㅠ. PinkPearl 2025-05-29
2696380 질문이요 제발 답변좀요 ㅠㅠ 은G 2025-05-29
2696355 자동적용Q&A 지음 2025-05-28
2696327 리스트 삭제 질문 힘찬 2025-05-28
2696300 IF 문 질문합니다. 볼1매그녀 2025-05-28
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com