°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
¡¡¡¡¡¡¡¡¡¡¶¼ÓÐ×ÔÒѶÀÁ¢µÄµØÖ·¿Õ¼ä£¬Òò´Ë£¬ËüÃÇÖ®¼ä»¥Ïà¶ÀÁ¢£¬»¥²»¡¡
¡¡¡¡¡¡¡¡¡¡¸ÉÉæ¡£µ«ÊÇ£¬¶ÔÓÚһЩӦÓóÌÐò£¬Ö»ÐèÒª¶øÇÒÖ»Ó¦¸ÃÓÐÒ»¸ö¡¡
¡¡¡¡¡¡¡¡¡¡ÊµÀýÔÚÔËÐС£Ê²Ã´Çé¿öÏ»áÊÇÕâÑùÄØ£¿¼ÙÉèÎÒÃDZàдÁËÒ»¸ö¡¡
¡¡¡¡¡¡¡¡¡¡Ó¦ÓóÌÐò£¬ÔÚĬÈÏÇé¿öÏ£¬¸ÃÓ¦ÓóÌÐò½«ÔÚºǫ́ÔËÐУ¬Í¨¹ý¡¡
¡¡¡¡¡¡¡¡¡¡°´Ï³ÌÐòËù¶¨ÒåµÄijһ¸öÈȼü£¬Ó¦ÓóÌÐò½«±»¼¤»î¡£¶ÔÓÚÕâ¡¡
¡¡¡¡¡¡¡¡¡¡ÑùµÄÓ¦ÓóÌÐò£¬ÔÚͬһʱ¸ÃÖ»Ó¦¸ÃÓÐÒ»¸öʵÀýÔÚÔËÐС£Áí¡¡
¡¡¡¡¡¡¡¡¡¡Í⣬ÏñWindows¡¡¡¡NTÏÂÔÚÈÎÎñ¹ÜÀíÆ÷£¬ÔÚͬһʱ¿ÌÒ²Ö»¿ÉÒÔÓС¡
¡¡¡¡¡¡¡¡¡¡Ò»¸öʵÀýÔÚÔËÐС£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡Ê¹ÓÃÏÂÃæµÄ¼¼ÇÉ¿ÉÒÔ±£Ö¤ÔÚͬһʱ¿ÌÖ»ÓÐÓ¦ÓóÌÐòµÄÒ»¸öʵ¡¡
¡¡¡¡¡¡¡¡¡¡Àý£º¡¡¡¡
l¡¡#include¡¡¡¨windows¡£h¡¨¡¡¡¡
l¡¡¡¡¡¡
l¡¡#define¡¡VK_X¡¡0x58¡¡¡¡
l¡¡¡¡¡¡
l¡¡int¡¡WINAPI¡¡WinMain¡¡£¨HINSTANCE¡¡hInstance£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡126¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
l¡¡HINSTANCE¡¡hPrevInstance£»¡¡¡¡
l¡¡LPSTR¡¡lpCmdLine£»¡¡¡¡
l¡¡int¡¡nCmdShow£©¡¡¡¡
l¡¡£û¡¡¡¡
l¡¡if¡¡£¨£¡CreateMutex£¨NULL£»TRUE£»¡¨No¡¡Previous¡¡Instance£¡¡¨£©£©¡¡¡¡
l¡¡£û¡¡¡¡
l¡¡MessageBox£¨NULL£»¡¨´´½¨Mutexʧ°Ü£¡¡¨£»¡¨NoPrev¡¨£»MB_OK£üMB_SYSTEMMODAL£©£»¡¡¡¡
l¡¡return¡¡FALSE£»¡¡¡¡
l¡¡£ý¡¡¡¡
l¡¡if¡¡£¨GetLastError£¨£©==ERROR_ALREADY_EXISTS£©¡¡¡¡
l¡¡£û¡¡¡¡
l¡¡MessageBox£¨NULL£»¡¨ÒÑÓÐNoPrevµÄÒ»¸öʵÀýÔÚÔËÐУ»¡¡µ±Ç°ÊµÀý½«±»ÖÕÖ¹£¡¡¨£»¡¡¡¡
l¡¡¡¨NoPrev¡¨£»MB_OK£üMB_SYSTEMMODAL£©£»¡¡¡¡
l¡¡return¡¡FALSE£»¡¡¡¡
l¡¡£ý¡¡¡¡
l¡¡if£¨£¡RegisterHotKey£¨NULL£»0x0001£»MOD_CONTROL£üMOD_SHIFT£»VK_X£©£©¡¡¡¡
l¡¡£û¡¡¡¡
l¡¡MessageBox£¨NULL£»¡¨×¢²áÈȼüCtrl£«Shift£«Xʧ°Ü£¡¡¨£»¡¡¡¡
l¡¡¡¨NoPrev¡¨£»MB_OK£üMB_SYSTEMMODAL£©£»¡¡¡¡
l¡¡return¡¡FALSE£»¡¡¡¡
l¡¡£ý¡¡¡¡
l¡¡MessageBox£¨NULL£»¡¨NoPrevÒÑÆô¶¯£¡nn°´ÏÂÈȼüCtrl£«Shift£«X½«ÖÕÖ¹NoPrev¡£¡¨£»¡¡¡¡
l¡¡¡¨NoPrev¡¨£»MB_OK£üMB_SYSTEMMODAL£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡127¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
l¡¡MSG¡¡msg£»¡¡¡¡
l¡¡while¡¡£¨GetMessage£¨&msg£»NULL£»0£»0£©£©¡¡¡¡
l¡¡£û¡¡¡¡
l¡¡switch¡¡£¨msg¡£message£©¡¡¡¡
l¡¡£û¡¡¡¡
l¡¡case¡¡WM_HOTKEY£º¡¡¡¡
l¡¡if¡¡£¨int£¨msg¡£wParam£©==0x0001£©¡¡¡¡
l¡¡if¡¡£¨MessageBox£¨NULL£»¡¨ÖÕÖ¹NoPrev£¿¡¨£»¡¡¡¡
l¡¡¡¨NoPrev¡¨£»MB_YESNO£üMB_SYSTEMMODAL£©==IDYES£©¡¡¡¡
l¡¡return¡¡TRUE£»¡¡¡¡
l¡¡£ý¡¡¡¡
l¡¡£ý¡¡¡¡
l¡¡return¡¡TRUE£»¡¡¡¡
l¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡ÉÏÃæµÄ´úÂëÊÇÒ»¸ö¹¦ÄÜÍêÕûµÄWindowsÓ¦ÓóÌÐò£¬ÆäÖÐÓõ½ÁË¡¡
¡¡¡¡¡¡¡¡¡¡¡¡Ò»Ð©µ½Ä¿Ç°ÎªÖ¹ÎÒÃÇ»¹Î´½²Êöµ½µÄÄÚÈÝ¡£³ÌÐò¶¨ÒåÁËÈȼü¡¡
¡¡¡¡¡¡¡¡¡¡¡¡Ctrl£«Shift£«X£¬µ±°´Ï¸ÃÈȼüʱ½«ÖÕÖ¹¸Ã³ÌÐò¡£ÓÉÓÚ³ÌÐòÖС¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã»ÓаüÀ¨Èκδ°¿Ú£¬Òò´ËÕâÊÇΨһµÄÒ»ÖÖÕý³£ÖÕÖ¹Ó¦ÓóÌÐò¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÄ·½·¨¡£µ±³ÌÐòNoPrevÕýÔÚºǫ́ÔËÐÐʱ£¬Èç¹ûÓû§°´ÏÂÁË×é¡¡
¡¡¡¡¡¡¡¡¡¡¡¡ºÏ¼üCtrl£«Shift£«X£¬Windows½«Ïò³ÌÐòÖ÷Ï̵߳ÄÏûÏ¢¶ÓÁÐÖз¢¡¡
¡¡¡¡¡¡¡¡¡¡¡¡ËÍÒ»Ìõ³ÆΪWM_HOTKEYµÄÏûÏ¢£¬µ±³ÌÐòÊÕµ½ÕâÌõÏûϢʱ£¬¼´µ¯¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡³öÁËÏûÏ¢¿òѯÎÊÊÇ·ñÖÕÖ¹NoPrev¡£ÉÏÃæµÄ˵Ã÷½«ÓÐÖúÓÚÄãÀí¡¡
¡¡¡¡¡¡¡¡¡¡¡¡½âÒÔÉÏ´úÂ룬µ«ÊÇÎÒÃÇ¡¡Ä¿Ç°¶ÔÖ¹²¢²»×öÒªÇó¡£ÕâÀֻÐèÒª¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡×¢ÒâÏÂÃæµÄ´úÂë¡¡£º¡¡¡¡
l¡¡if¡¡£¨£¡CreateMutex£¨NULL£»TRUE£»¡¨No¡¡Previous¡¡Instance£¡¡¨£©£©¡¡¡¡
l¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡128¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡l¡¡MessageBox£¨NULL£»¡¨´´½¨Mutexʧ°Ü£¡¡¨£»¡¨NoPrev¡¨£»MB_OK£üMB_SYSTEMMODAL£©£»¡¡¡¡
¡¡¡¡l¡¡return¡¡FALSE£»¡¡¡¡
¡¡¡¡l¡¡£ý¡¡¡¡
¡¡¡¡l¡¡if¡¡£¨GetLastError£¨£©==ERROR_ALREADY_EXISTS£©¡¡¡¡
¡¡¡¡l¡¡£û¡¡¡¡
¡¡¡¡l¡¡MessageBox£¨NULL£»¡¨ÒÑÓÐNoPrevµÄÒ»¸öʵÀýÔÚÔËÐУ»¡¡µ±Ç°ÊµÀý½«±»ÖÕÖ¹£¡¡¨£»¡¡¡¡
¡¡¡¡l¡¡¡¨NoPrev¡¨£»MB_OK£üMB_SYSTEMMODAL£©£»¡¡¡¡
¡¡¡¡l¡¡return¡¡FALSE£»¡¡¡¡
¡¡¡¡l¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÔÚÉÏÃæµÄ´úÂë¡¡ÖУ¬ÎÒÃÇÏȵ÷ÓÃCreateMutex´´½¨Ò»¸öÃûΪ¡¡¡°¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡No¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡Previous¡¡¡¡¡¡¡¡¡¡Instance¡±µÄÃüÃû»¥³â¶ÔÏó£¨named¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mutex¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡object£©£¬Èç¹û¸Ã¶ÔÏóÃûÒÑ´æÔÚ£¨×¢ÒâÕâʱº¯ÊýCreateMutexÈÔ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡·µ»ØÕæÖµTRUE£©£¬ÔòËæºóµ÷ÓõÄGetLastErrorº¯Êý½«·µ»Ø¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡ERROR_ALREADY_EXISTS£¬Óɴ˵ÃÖªÒÑÓÐÒ»¸öÓ¦ÓóÌÐòµÄʵÀý¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÕýÔÚÔËÐС£´Ó¶øµ¯³öÏûÏ¢¿òÌáÐÑÓû§£¬È»ºóÖÕÖ¹Ó¦ÓóÌÐòµÄ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µ±Ç°ÊµÀý¡£¡¡¡¡
ÔÚÉÏÃæµÄWinMainº¯ÊýÔÐÍÖеÄÁíÒ»¸öÆæ¹ÖµÄ±êʶ·ûΪWINAPI£¬ÕâÊÇ¡¡
Ò»¸öÔÚwindef¡£hÍ·ÎļþÖж¨ÒåµÄºê£¬ÔÚµ±Ç°°æ±¾Win32¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡SDKÖУ¬¡¡
WINAPI±»¶¨ÒåΪFAR¡¡PASCAL£¬Òò´Ë£¬Ê¹ÓÃFAR¡¡PASCALͬʹÓÃWINAPI¾ß¡¡
ÓÐͬÑùµÄЧ¹û£¬µ«ÊÇ£¬ÎÒÃÇÇ¿ÁÒ½¨ÒéÄãʹÓÃWINAPIÀ´´úÌæÒÔÇ°³£Óõġ¡
FAR¡¡PASCAL£¬ÒòΪMicrosoft²»±£Ö¤FAR¡¡PASCALÄܹ»ÔÚ½«À´µÄWindows¡¡
°æ±¾ÖÐÕý³£¹¤×÷¡£ÔÚÄ¿Ç°Çé¿öÏ£¬ºÍFAR¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡PASCALµÈ¼ÛµÄ±êʶ·û»¹ÓС¡
CALLBACK¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨ÓÃÔÚÈç´°¿Ú¹ý³Ì»ò¶Ô»°¿ò¹ý³ÌÖ®ÀàµÄ»Øµ÷º¯ÊýÇ°£©ºÍ¡¡
APIENTRYµÈ¡£ËüÃǶԱàÒëÆ÷¶øÑÔ¶¼ÊÇÒ»»ØÊ£¬×îÖÕ½«±»½âÊÍΪ¡¡
__stdcall¡£ÔÚWindows»·¾³Ï±à³Ì£¬»áÓöµ½ºÜ¶àÕâÑùµÄÇé¿ö£¬×¢Òâ²»¡¡
Òª»ìÏýËüÃÇ¡£¡¡¡¡
Ò»°ãÇé¿öÏ£¬ÎÒÃÇÓ¦¸ÃÔÚWinMainº¯ÊýÖÐÍê³ÉÏÂÃæµÄ²Ù×÷£º¡¡¡¡
1¡£¡¡×¢²á´°¿ÚÀࣻ¡¡¡¡
2¡£¡¡´´½¨Ó¦ÓóÌÐòÖ÷´°¿Ú£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡129¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
3¡£¡¡½øÈëÓ¦ÓóÌÐòÏûϢѻ·¡£¡¡¡¡
½ÓÏÂÀ´ÎÒÃǽ«ÒÀ´ÎÌÖÂÛÕâЩÄÚÈÝ¡£¡¡¡¡
ÔÚWindowsÓ¦ÓóÌÐòÖУ¬Ã¿Ò»¸ö´°¿Ú¶¼±ØÐë´ÓÊôÓÚÒ»¸ö´°¿ÚÀ࣬´°¿Ú¡¡
ÀඨÒåÁË´°¿ÚËù¾ßÓеÄÊôÐÔ£¬ÈçËüµÄÑùʽ¡¢Í¼±ê¡¢Êó±êÖ¸Õë¡¢²Ëµ¥Ãû¡¡
³Æ¼°´°¿Ú¹ý³ÌÃûµÈ¡£ÔÚ×¢²á´°¿ÚÀàÇ°£¬ÎÒÃÇÏÈ´´½¨Ò»¸öÀàÐÍΪ¡¡
WNDCLASSµÄ½á¹¹£¬È»ºóÔڸýṹ¶ÔÏóÖÐÌîÈë´°¿ÚÀàµÄÐÅÏ¢£¬×îºó½«Ëü¡¡
´«µÝ¸øº¯ÊýRegisterClass£¬Õû¸ö¹ý³ÌÈçÏÂÃæµÄ´úÂëËùʾ£º¡¡¡¡
WNDCLASS¡¡wc£»¡¡¡¡
//¡¡Ìî³ä´°¿ÚÀàÐÅÏ¢¡¡¡¡
wc¡£style=CS_HREDRAW£üCS_VREDRAW£»¡¡¡¡
wc¡£lpfnWndProc=WndProc£»¡¡¡¡
wc¡£cbClsExtra=0£»¡¡¡¡
wc¡£cbWndExtra=0£»¡¡¡¡
wc¡£hInstance=hInstance£»¡¡¡¡
wc¡£hIcon=LoadIcon£¨NULL£»IDI_APPLICATION£©£»¡¡¡¡
wc¡£hCursor=LoadCursor£¨NULL£»IDC_ARROW£©£»¡¡¡¡
wc¡£hbrBackground=GetStockObject£¨WHITE_BRUSH£©£»¡¡¡¡
wc¡£lpszMenuName=NULL£»¡¡¡¡
wc¡£lpszClassName=¡¨SdkDemo1¡¨£»¡¡¡¡
//¡¡×¢²á´°¿ÚÀà¡¡¡¡
RegisterClass£¨&wc£©£»¡¡¡¡
ÏÂÃæ½âÊÍһϽṹWNDCLASS¡¡Öи÷³ÉÔ±µÄº¬Ò壺¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡style£º¡¡¡¡Ö¸¶¨´°¿ÚÑùʽ¡£¸ÃÑùʽ¿ÉÒÔΪһϵÁÐÆÁ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡±ÎλµÄ°´Î»»ò£¬ÔÚÇ°ÃæµÄÀý×ÓÖУ¬CS_HREDRAW±í¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ê¾µ±´°¿ÚÓû§Çø¿í¶È¸Ä±äʱÖØ»æÕû¸ö´°¿Ú£¬¶ø¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CS_VREDRAWÔò±íÔò±íʾµ±´°¿ÚÓû§Çø¸ß¶È¸Ä±äʱ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÖØ»æÕû¸ö´°¿Ú¡£¶ÔÓÚÆäËüµÄ´°¿ÚÑùʽ£¬Çë²ÎÔÄ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡SDKÖйØÓÚWNDCLASSµÄÁª»úÎĵµ¡££¨Ë³±ã˵һ¾ä£¬¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Çë×¢Òâ¸Ã³ÉÔ±µÄ´óСд£¬ËüÊÇСдµÄstyle£¬¶ø¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡130¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
²»ÊÇStyle¡££©¡¡¡¡
lpfnWndProc£º¡¡¡¡Ö¸Ïò´°¿Ú¹ý³ÌµÄÖ¸Õë¡£¹ØÓÚ´°¿Ú¡¡
¹ý³ÌÎÒÃǽ«ÒÔºóÃæµÄÄÚÈÝÖн²Êö¡£ÔÚÇ°ÃæµÄÀý×Ó¡¡
ÖУ¬ÎÒÃÇʹÓÃÃûΪWndProcµÄ´°¿Ú¹ý³Ì¡£¡¡¡¡
cbClsExtra£º¡¡Ö¸¶¨ÔÚ´°¿ÚÀà½á¹¹Ö®ºó·ÖÅäµÄ¸½¼Ó¡¡
×Ö½ÚÊý¡£²Ù×÷ϵͳ½«ÕâЩ×Ö½Ú³õʼ»¯Îª0¡£¡¡¡¡
cbWndExtra£º¡¡Ö¸¶¨ÔÚ´°¿ÚʵÀýÖ®ºó·ÖÅäµÄ¸½¼Ó×Ö¡¡
½ÚÊý¡£²Ù×÷ϵͳ½«ÕâЩ×Ö½Ú³õʼ»¯Îª0¡£Èç¹ûÓ¦¡¡
ÓóÌÐòʹÓÃWNDCLASS½á¹¹×¢²áÒ»¸öÊ