Àμö |
wParam : °¡»ó Å°Äڵ尪ÀÌ¸ç ¾î¶² Å°°¡ ´·¯Á³´ÂÁö¸¦ ³ªÅ¸³½´Ù. °¡»ó Å°ÄÚµå´Â Å°º¸µåÀÇ Á¾·ù¿¡ µ¶¸³ÀûÀÎ Å° Äڵ尪ÀÌ´Ù. lParam : ´·¯Áø Å°¿Í Å°º¸µå »óÅ¿¡ ´ëÇÑ ¿©·¯ °¡Áö Á¤º¸¸¦ °¡Áö´Â ºñÆ® Çʵ尪ÀÌ¸ç °¢ ºñÆ®º°·Î ´ÙÀ½°ú °°Àº Á¤º¸°¡ Àü´ÞµÈ´Ù. |
¼³¸í |
Å°º¸µå Æ÷Ä¿½º¸¦ °¡Áø À©µµ¿ì¿¡¼ Å°º¸µå¸¦ ´©¸¦ ¶§ ÀÌ ¸Þ½ÃÁö°¡ Àü´ÞµÈ´Ù. ´Ü, AltÅ°¿Í ÇÔ²² Å°¸¦ ´·¶À» ¶§´Â ÀÌ ¸Þ½ÃÁö ´ë½Å WM_SYSKEYDOWN ¸Þ½ÃÁö°¡ Àü´ÞµÈ´Ù. wParamÀ¸·Î ´·¯Áø Å°¿¡ ´ëÇÑ Á¤º¸°¡ Àü´ÞµÇ¸ç lParamÀ¸·Î ¹Ýº¹ ȸ¼ö, ½ºÄµÄÚµå µîÀÇ Ãß°¡ Á¤º¸°¡ Àü´ÞµÈ´Ù. ƯÁ¤ Å° ÀԷ½à ¾î¶² ÀÛ¾÷À» ÇÏ·Á¸é ÀÌ ¸Þ½ÃÁö¸¦ »ç¿ëÇÑ´Ù. ´Ü, Ctrl+C, Ctrl+T µîÀÇ Á¶ÇÕÅ°´Â ÀÌ ¸Þ½ÃÁö¿¡¼ ó¸®ÇÏ´Â °Íº¸´Ù´Â ¾×¼¿·¯·¹ÀÌÅ͸¦ »ç¿ëÇÏ´Â °ÍÀÌ ´õ ÁÁ´Ù. F10Å°°¡ ´·¯Áö¸é DefWindowProcÀº ³»ºÎ Ç÷¹±×¸¸ ¼¼Æ®ÇØ ³õÀ¸¸ç À̶§ WM_KEYDOWN ¸Þ½ÃÁö´Â ¹ß»ýÇÏÁö ¾Ê´Â´Ù. ´ÙÀ½¹ø¿¡ F10Å°¿¡ ´ëÇØ WM_KEYUP ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§ ³»ºÎ Ç÷¹±×°¡ ¼¼Æ®µÇ¾î ÀÖÀ¸¸é ÀÌ ¸Þ½ÃÁö¸¦ WM_SYSCOMMANDÀÇ SC_KEYMENU¸¦ º¸³»ÁÖ¾î ¸ÞÀÎ ¸Þ´º¸¦ ¿µµ·Ï ÇØÁØ´Ù. Å°º¸µå¸¦ ¶¿ ¶§´Â WM_KEYUP ¸Þ½ÃÁö°¡ Àü´ÞµÇ´Âµ¥ Å°º¸µå´Â ÀÚµ¿ ¹Ýº¹ ±â´ÉÀ» °¡Áö°í Àֱ⠶§¹®¿¡ WM_KEYDOWNÀÌ ¿©·¯¹ø ¹ß»ýÇÏ°í WM_KEYUPÀÌ Çѹø¸¸ ¹ß»ýÇÒ ¼öµµ ÀÖ´Ù. À̶§ °¢ WM_KEYDOWN¿¡¼ ÀÌ Å°°¡ óÀ½ ´·¯Áø °ÍÀÎÁö ¹Ýº¹ÀûÀ¸·Î °è¼Ó ´·¯Áø °ÍÀÎÁö´Â lParamÀÇ ºñÆ® 30À» º¸¸é ¾Ë ¼ö ÀÖ´Ù. |
¸®ÅÏ |
ÀÌ ¸Þ½ÃÁö¸¦ ó¸®ÇßÀ¸¸é 0À» ¸®ÅÏÇØ¾ß ÇÑ´Ù. |
¿¹Á¦ |
´ÙÀ½ ¿¹Á¦´Â ´·¯Áø Å°ÀÇ °¡»ó Å°ÄÚµå¿Í Å° µ¥ÀÌÅ͸¦ ¹®ÀÚ¿·Î Á¶¸³ÇÏ¿© º¸¿©ÁØ´Ù. LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; static char Mes[128]; switch(iMessage) { case WM_KEYDOWN: wsprintf(Mes,"VK=%d, lKeyData=%x",wParam,lParam); InvalidateRect(hWnd,NULL,TRUE); return 0; case WM_PAINT: hdc=BeginPaint(hWnd, &ps); TextOut(hdc,10,10,Mes,lstrlen(Mes)); EndPaint(hWnd, &ps); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return(DefWindowProc(hWnd,iMessage,wParam,lParam)); } |
Ç÷§Æû |
95ÀÌ»ó |
ÂüÁ¶ |
|
written by http://www.winapi.co.kr
|