ËÕ¶«ÆÂÎÒ¼áÐÅÐí¶à µÄÅóÓÑÃǾÍÊÇ»á×öһЩeÓïÑÔµÄÍâ¹ÒÈí¼þµÄ£¬ÄÇüNÈç½ñÎҾ͸ø±ØÐë×öÕâЩµÄºÃÅóÓÑÏêϸ½éÉÜÎÒÃǵÄÕâ¸öÍâ¹Ò×÷·»4.X°²×¿°æ£¬Óë´ËͬʱҲÓÐȫеÄʵÀý½Ì³Ì£¡
Íò¹ÒС×÷·»ÊÇɶ
´óÉñ½«·±Ôӵıà³Ì½Ì³Ìת»»ÎªººÓ¼òÒ×£¬Í¨Ë×Ò×¶®¡£Ëæºó·Åµ½×ÔÉíµÄÍøÖ·ÉÏ£¬¿ÉÍøÒ³Ô´´úÂëµÄ×÷ÓÃÊéÐ´ÖÆ×öÝoÖú±Ø²»¿ÉÉÙѧϰÅàѵ²ÎÕÕ£¡
Ñ¡½Ú£º
ÒªÏëÏû³ýÓÎÏ·ÀïÃæ½ûÖ¹¶à¿ªµÄ×÷ÓÃ,¾ÍµÃÏÈÕÆÎÕ½ûÖ¹¶à¿ª²ãÃæµÄ»ù±¾ÔÀí.ʵ¼ÊÉÏÒªÏë½ûÖ¹¶à¿ª²¢²»»áÌ«ÄÑ. ½ûÖ¹¶à¿ªµÄ·½Ê½»¹ÓÐÐí¶à.µ«Æä»ù±¾Éϵķ½·¨,±¾ÆµµÀ»á¶¼¸ø½éÉÜÒ»ÏÂ.
ÔÚµçÄÔ²Ù×÷ϵͳÖÐÿһ¸öÔÚÔËÐеĹý³ÌÈ«Êǵ¥¶ÀµÄ.½û¶à¿ªµÄ³ÌÐòÁ÷³ÌÔÚÔËÐÐʱ,±ØÐëÁôÓÐÒ»Ð©ÌØÓеÄÌØµã¹©µÚ¶þ´ÎÔËÐÐʱ¼ìÑéÓÃ,µ±µÚ¶þ´ÎÔËÐÐʱ,»áÈ¥ÊÔ׿ìÑéÊÇ·ñÓÐÄ³Ò»ÌØÓеÄÌØµã.Èô¸ÃÌØµãÒÑ´æÓÐÔòÍê±Ï±¾Éí¹ý³Ì.Èô²»»áÓÐÔòÔÙ´ÎÔËÐÐ.¸ù¾ÝÕâÑùµÄ·½·¨,¾ÍÄܼòÒ×µÄ×öµ½½ûÖ¹¶à¿ªµÄÄ¿µØ.
ÎÄÖÐÏêϸ½éÉܵÚÒ»ÖÖ,ÊǽÏΪ³£¼ûµÄ.¸ù¾Ý ¶Ô»°¿òÎÄÕ±êÌâ Óë ¶Ô»°¿òÀàÃû µÄÌØµãÀ´×öµ½½ûÖ¹¶à¿ªµÄ×÷ÓÃ.
Èç¹ûÎÒÃǵÄÓ¦ÓóÌÐòµÄ¹Ø¼ü¶Ô»°¿òÀàÃûÓë¶Ô»°¿òÎÄÕ±êÌâÊÇΨһµÄ,Ò»°ã²»ÈÝÒ×ÓëÆäËûÈ˵ijÌÐòÁ÷³Ì·¢ÉúͬÑùµÄ×´¿öʱ,¿ÉÒÔÓÃÈçÏÂËùʾAPIÀ´Íê³É½ûÖ¹¶à¿ª×÷ÓÃ.
¹³×ÓÄÜϵͳ¶ÔÖбðµÄ¶Ô»°¿òµÄÏûÏ¢ÌáÔçÌáÈ¡£¬¼áÐźܶàÈ˶¼¶Ô´ËÏî¼¼ÊõÐÔ³äÂúÁËã¿ã½£¬ÄËÖÁ¸Ð¾õÆä¸ßÉîĪ²â¡£Êµ¼ÊÉÏHOOK±È½Ï¼òµ¥¡£
ÏÈÀ´ËµÒ»ÏÂÉ趨¹³×ÓµÄAPI:SetwindowsHookEx
The SetWindowsHookEx function installs an application-defined hook procedure into a hook chain. An application installs a hook procedure to monitor the system for certain types of events. A hook procedure can monitor events associated either with a specific thread or with all threads in the system. This function Supersedes the SetWindowsHook function.
Õâ¾ä»°µÄº¬Òâ´ó¸ÅÊÇÕâÒ»APIº¯Êý»áÏò¹³×ÓÁ´(¼´Ò»Á¬´®¹³×Ó)Öа²ÑbÒ»¸ö¹³×Ó²¢½â¾öÌØ¶¨µÄÏûÏ¢£¬Äܹ»°²ÑbÔڹ涨µÄ¹ý³Ì»ò×°ÖÃÖеÄÈ«²¿¹ý³Ì(È«¾Ö¹³×Ó)¡£
ÔÙÒ»ÆðÀ´¿´¿´ºÊýµÄÔÐÎ:
HHOOK SetWindowsHookEx(
int idHook, // type of hook to install Òª°²ÑbµÄ¹³×ÓµÄÖÖÀà
HOOKPROC lpfn, // address of hook procedure ¹³×ÓºÊýµÄÏêϸµØÖ·
HINSTANCE hMod, // handle of application instance °üÀ¨¹³×ÓºÊý¿ØÖÆÄ£¿éµÄ·µ»ØÖµ
Dword dwThreadId // identity of thread to install hook for Òª°²Ñb¹³×ӵĽø³ÌµÄPID
);
ÔÚÆäÖУ¬µÚÒ»¸öÖ÷Òª²ÎÊýidHookÄܹ»ÓÐÏÂÁÐѡֵ£º
WH_CALLWNDPROC//¼àÊÓµÖ´ï¶Ô»°¿òǰµÄÏûÏ¢
WH_CALLWNDPROCRET//¼àÊÓ¶Ô»°¿ò½â¾öºóµÄÏûÏ¢
WH_DEBUG//¼àÊÓϵͳ½ø³Ì±ðµÄHOOK¹ØÏµµÄHOOK×Ó³Ì
WH_GETMESSAGE//¼àÊÓ·¢ËÍÖÁÎı¾¿òÏûÏ¢ÐòÁÐÀïµÄÏûÏ¢
WH_JOURNALPLAYBACK//È«¾ÖHOOK£¬Äܹ»²å½øÏûÏ¢µ½ÏûÏ¢ÐòÁÐ
WH_JOURNALRECORD//È«¾ÖHOOK£¬¼àÊÓ¼üÈëÊÂÇé(µçÄÔ¼üÅÌ£¬µçÄÔÊó±êµÈ)
WH_KEYBOARD//µçÄÔ¼üÅ̹³×Ó
Ö§³Ö´©Ô½»ðÏ߸¨ÖúPCƽ̨£¬Ö÷ÒªÊÇ×ÔÎÒ¼à¿Ø£¬×èֹ͸ÊÓͼ¹¦ÄÜ£¬´ó¶àÊý´©Ô½»ðÏ߸¨ÖúÈí¼þ¶¼ÐèҪע²áÂë»ò¹ºÂò²ÅÄÜ»ñµÃ¡£Õâ´Î£¬ÎÒÃÇÌṩÁËһЩ´©Ô½»ðÏ߸¨ÖúÏÂÔØµÄÆÆ½â°æ±¾¡£Ò»Ð©¸¨Öú³ÌÐò´øÓзÉÐÐÌÓÉú£¬ÎÞ¾¡µÄ×Óµ¯ºÍÆäËû¹¦ÄÜ£¬µ«ÊÇÒª¸¶³öÒ»¶¨µÄÎȶ¨ÐÔ¡£ÎÒÃǽ¨ÒéÄú¼ÌÐøÊ¹ÓÃ×îÎȶ¨µÄÅÄÉã͸ÊÓ°ïÖú¡£ÓÐÐèÒªµÄÅóÓÑ£¬Á¢¼´ÏÂÔØ£¡CF£¨Í¨¹ýFireWire£©¸ÃÓÎÏ·ÊÇÓÀ¾ÃÐԵģ¬ÈÔÈ»ÓкܶàÍæ¼ÒÔÚ¡°µÎѪ¡±¡£ÖîÈçCF²å¼þºÍCFÖúÊÖÖ®ÀàµÄ¸¨Öú¹¤¾ßÔÚÓÎÏ·ÖÐÎªÍæ¼Ò´øÀ´ÁËÌØÊâµÄºÃ´¦¡£
QQÓÎÏ·Ìü¸¨ÖúÉ豸ÊÇQQÓÎÏ·ÌüÍæ¼ÒµÄÓÎÏ·¸¨Öú¹¤¾ß¡£ÅäÓи¨Öú²Ù×÷ͼƬºÍÎÄ×ֽ̡̳£Ö§³ÖQQ¹ú¼ÊÏóÆå×Ô¶¯¶ÔÞĸ¨Öú£¬ÓÃ;¹ã·º¡£²»Í¬µÄÓÎÏ·Óв»Í¬µÄ¸¨ÖúÈí¼þ£¬Ìṩ²»Í¬µÄ±ãÀû¡£×ÛÉÏËùÊö£¬ËüÊÇQQÓÎÏ·°®ºÃÕߵĺðïÊÖ¡£ÏÂÔØÌåÑé¡£
QQÍâ¹ÒÖ¸µÄÊÇqqÏà¹ØµÄһЩ¸¨ÖúÍâ¹Ò³ÌÐò£¬qqÉý¼¶Íâ¹Ò¡¢qq¿Õ¼äÓÎÏ·Íâ¹Ò¡¢qqÓÎÏ·Íâ¹ÒµÈ¾ùÊôÓÚqqÍâ¹Ò¡£±¾×¨ÌâÊÕ¼Á˶à¿îºÃÓõÄQQÍâ¹Ò¹©´ó¼ÒÃâ·ÑÏÂÔØ¡£
Ö²Îï´óÕ½½©Ê¬Íâ¹Ò£¬ÊÇÒ»¿îÒÔÈÈÃÅÓÎÏ·Ö²Îï´óÕ½½©Ê¬ÎªÔ°æ¸Ä±ä¶øÀ´µÄÒæÖÇÐÝÏÐÀàÓÎÏ·¡£Ö²Îï´óÕ½½©Ê¬ÈÌÕ߰潫ֲÎïÉä³öÀ´µÄ×Óµ¯¶¼±ä³ÉÁËÈÌ×ÅÊÀ½çÀïËù³£¼ûµÄ·ÉïÚµÀ¾ß¡£49ÖÖ¹¦ÄÜÇ¿´ó£¬»¥²»ÏàͬµÄÖ²Î²¢¿ÉÊÕ¼¯Ó²±Ò¹ºÂòÎÏÅ£µÈ¶àÖÖµÀ¾ß¡£Í¨¹ý¡°·è¿ñ´÷·òÉ̵ꡱ¹ºÂòÌØÊâÖ²ÎïºÍ¹¤¾ß£¬ÒÔÍæ¼ÒÄÜÏëÏó²»µ½µÄ·½Ê½¸Éµô½©Ê¬¡£
Ìø×ª²å¼þÈí¼þÊÇÔÚ΢ÐÅÌø×ªÓÎÏ·ÖлñµÃ¸ß·ÖµÄ²å¼þ¸¨ÖúÓ¦ÓÃÈí¼þ¡£Ìø×ª²å¼þ¹¤¾ß¿ÉÒÔÒ»¸ö¼üÔËÐС£Ê¹ÓÃJump Jump²å¼þÈí¼þ£¬Äú²»ÔÙÐèÒªÊÖ¶¯Ò»´ÎÓÖÒ»´ÎµØ½øÐÐÌø×ª¡£Î¢ÐÅÌø×ª²å¼þ¹¤¾ß¿ÉÒÔÈÃÍæ¼Ò¸üºÃµÄÃé×¼·½°Ð¡£Íæ¼Ò¿ÉÒÔÌø¹ýËü¡£Ò»¿îÌøÏß²å¼þ°¬×̲¡Èí¼þ¿ÉÒÔ»ñµÃ¸ß·Ö£¬ºÜ¿ìÈÃÄãÔÚÅóÓÑȦÖÐÅÅÃûµÚÒ»£¬ÌøÏß²å¼þÈí¼þÊÇÄãÍæÌøÏßµÄ×î¼ÑÑ¡Ôñ¡£¶àÌØÊÖÓÎרÌâΪÄúÌá¹©ÌøÒ»ÌøÍâ¹Ò,΢ÐÅÌøÒ»Ìø×Ô¶¯Ìø½Å±¾¡£°²×¿Æ»¹û°æÈí¼þappÒ»Ó¦¾ãÈ«¡£