| Àμö |
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
|