中了键盘鼠标钩子程序怎么办
钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程序,window消息或特定事件。钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。ZG电力自动化9 e" g# T' Z3 Y3 T" I* EZG电力自动化,变电检修,继电保护,远动通信,电力技术,高压试验,输电线路,变电运行,整定计算,规章规程,电力论坛,电力技术,高压实验,电网,供电局,供电公司,电业局. J! l- f+ |. ^* H' o+ }3 u/ Q& _: _: W- F$ P HZG电力自动化不仅为电力职工提供一个可以交流的网络平台而且也为电力技术的爱好者和电力大中专学生提供一个可以展现自我的一个舞台。这个平台与传统知识交流平台相比具有:获取信息速度快,信息量大,互动性强,成本低。这几个特性是传统知识交流平台所不具备的。ZG电力自动化就是要利用这种互动方式为大家铺设桥梁,使各位朋友的技术共同进步、提高!可能上面的官方定义对一部分读者理解有点困难,ZG电力自动化,变电检修,继电保护,远动通信,电力技术,高压试验,输电线路,变电运行,整定计算,规章规程,电力论坛,电力技术,高压实验,电网,供电局,供电公司,电业局6 }& e8 W" X3 w1 P( \# Z4 }) P8 Y其实,钩子就像是一切程序的“先知”,一个实现了钩子的程序自身虽然也是普通程序,但是它总能在别的程序得到数据之前就已经知道了一切,这是为什么呢?
有什么杀毒软件能完全防止键盘钩子?
一般情况下,病毒挂钩子是为了截取信息。键盘hook跟键盘输入有关,因此这里的Hook可以实现一些键盘记录等功能,当这里出现Hook,要仔细辨认是否为恶意的键盘记录器,正常程序也可能Hook这里。题主可以下载个杀毒软件,类似腾讯电脑管家或者360,首先用软件全盘查杀下,然后把防火墙以及各种防护措施都打开,这样可以相对提高网络安全系数。在今后的使用过程中,要经常用电脑管家定期清理自己的垃圾,以保持自己的计算机常用常新,使用电脑管家进行有效的拦截、清杀病毒,定期全盘扫描下,来保障你电脑的安全。钩子也分几种,有进程钩子,就是只是捕获某一个特定进程的键盘输入。有程序钩子,只捕获某一个程序的键盘输入。还有全局钩子,可以捕获所有进程或者程序的键盘输入。捕获就是说钩子程序能获取你输入的信息,比方说原来有一些QQ木马就是安装键盘钩子,用于记录你输入的QQ号和密码,又或者一些游戏的盗号程序就是这样的。所以我们在日常使用中一定要定期清理电脑中的垃圾,时常杀毒,养成良好的电脑使用习惯,创造更安全的上网环境。
如何触发低级键盘钩子
参数使用错了keybd_event()传进去的参数不应该是字符,应该是他的虚拟键码,比如你要产生按下A键,应该是keybd_event(41)VOID keybd_event( BYTE bVk, BYTE bScan, DWORD dwFlags, PTR dwExtraInfo);bVk[in] Specifies a virtual-key code. The code must be a value in the range 1 to 254. For a complete list, see Virtual-Key Codes. Virtual-Key Codes --------------------------------------------------------------------------------The following table shows the symbolic constant names, hexadecimal values, and mouse or keyboard equivalents for the virtual-key codes used by the system. The codes are listed in numeric order. ConstantsVK_LBUTTON (01)Left mouse buttonVK_RBUTTON (02)Right mouse buttonVK_CANCEL (03)Control-break processingVK_MBUTTON (04)Middle mouse button (three-button mouse)VK_XBUTTON1 (05)Windows 2000/XP: X1 mouse buttonVK_XBUTTON2 (06)Windows 2000/XP: X2 mouse button- (07)UndefinedVK_BACK (08)BACKSPACE keyVK_TAB (09)TAB key- (0A-0B)ReservedVK_CLEAR (0C)CLEAR keyVK_RETURN (0D)ENTER key- (0E-0F)UndefinedVK_SHIFT (10)SHIFT keyVK_CONTROL (11)CTRL keyVK_MENU (12)ALT keyVK_PAUSE (13)PAUSE keyVK_CAPITAL (14)CAPS LOCK keyVK_KANA (15)Input Method Editor (IME) Kana modeVK_HANGUEL (15)IME Hanguel mode (maintained for compatibility; use VK_HANGUL)VK_HANGUL (15)IME Hangul mode- (16)UndefinedVK_JUNJA (17)IME Junja modeVK_FINAL (18)IME final modeVK_HANJA (19)IME Hanja modeVK_KANJI (19)IME Kanji mode- (1A)UndefinedVK_ESCAPE (1B)ESC keyVK_CONVERT (1C)IME convertVK_NONCONVERT (1D)IME nonconvertVK_ACCEPT (1E)IME acceptVK_MODECHANGE (1F)IME mode change requestVK_SPACE (20)SPACEBARVK_PRIOR (21)PAGE UP keyVK_NEXT (22)PAGE DOWN keyVK_END (23)END keyVK_HOME (24)HOME keyVK_LEFT (25)LEFT ARROW keyVK_UP (26)UP ARROW keyVK_RIGHT (27)RIGHT ARROW keyVK_DOWN (28)DOWN ARROW keyVK_SELECT (29)SELECT keyVK_PRINT (2A)PRINT keyVK_EXECUTE (2B)EXECUTE keyVK_SNAPSHOT (2C)PRINT SCREEN keyVK_INSERT (2D)INS keyVK_DELETE (2E)DEL keyVK_HELP (2F)HELP key (30)0 key (31)1 key (32)2 key (33)3 key (34)4 key (35)5 key (36)6 key (37)7 key (38)8 key (39)9 key- (3A-40)Undefined (41)A key (42)B key (43)C key (44)D key (45)E key (46)F key (47)G key (48)H key (49)I key (4A)J key (4B)K key (4C)L key (4D)M key (4E)N key (4F)O key (50)P key (51)Q key (52)R key (53)S key (54)T key (55)U key (56)V key (57)W key (58)X key (59)Y key (5A)Z keyVK_LWIN (5B)Left Windows key (Microsoft Natural keyboard) VK_RWIN (5C)Right Windows key (Natural keyboard)VK_APPS (5D)Applications key (Natural keyboard)- (5E)ReservedVK_SLEEP (5F)Computer Sleep keyVK_NUMPAD0 (60)Numeric keypad 0 keyVK_NUMPAD1 (61)Numeric keypad 1 keyVK_NUMPAD2 (62)Numeric keypad 2 keyVK_NUMPAD3 (63)Numeric keypad 3 keyVK_NUMPAD4 (64)Numeric keypad 4 keyVK_NUMPAD5 (65)Numeric keypad 5 keyVK_NUMPAD6 (66)Numeric keypad 6 keyVK_NUMPAD7 (67)Numeric keypad 7 keyVK_NUMPAD8 (68)Numeric keypad 8 keyVK_NUMPAD9 (69)Numeric keypad 9 keyVK_MULTIPLY (6A)Multiply keyVK_ADD (6B)Add keyVK_SEPARATOR (6C)Separator keyVK_SUBTRACT (6D)Subtract keyVK_DECIMAL (6E)Decimal keyVK_DIVIDE (6F)Divide keyVK_F1 (70)F1 keyVK_F2 (71)F2 keyVK_F3 (72)F3 keyVK_F4 (73)F4 keyVK_F5 (74)F5 keyVK_F6 (75)F6 keyVK_F7 (76)F7 keyVK_F8 (77)F8 keyVK_F9 (78)F9 keyVK_F10 (79)F10 keyVK_F11 (7A)F11 keyVK_F12 (7B)F12 keyVK_F13 (7C)F13 keyVK_F14 (7D)F14 keyVK_F15 (7E)F15 keyVK_F16 (7F)F16 keyVK_F17 (80H)F17 keyVK_F18 (81H)F18 keyVK_F19 (82H)F19 keyVK_F20 (83H)F20 keyVK_F21 (84H)F21 keyVK_F22 (85H)F22 keyVK_F23 (86H)F23 keyVK_F24 (87H)F24 key- (88-8F)UnassignedVK_NUMLOCK (90)NUM LOCK keyVK_SCROLL (91)SCROLL LOCK key (92-96)OEM specific- (97-9F)UnassignedVK_LSHIFT (A0)Left SHIFT keyVK_RSHIFT (A1)Right SHIFT keyVK_LCONTROL (A2)Left CONTROL keyVK_RCONTROL (A3)Right CONTROL keyVK_LMENU (A4)Left MENU keyVK_RMENU (A5)Right MENU keyVK_BROWSER_BACK (A6)Windows 2000/XP: Browser Back keyVK_BROWSER_FORWARD (A7)Windows 2000/XP: Browser Forward keyVK_BROWSER_REFRESH (A8)Windows 2000/XP: Browser Refresh keyVK_BROWSER_STOP (A9)Windows 2000/XP: Browser Stop keyVK_BROWSER_SEARCH (AA)Windows 2000/XP: Browser Search key VK_BROWSER_FAVORITES (AB)Windows 2000/XP: Browser Favorites keyVK_BROWSER_HOME (AC)Windows 2000/XP: Browser Start and Home keyVK_VOLUME_MUTE (AD)Windows 2000/XP: Volume Mute keyVK_VOLUME_DOWN (AE)Windows 2000/XP: Volume Down keyVK_VOLUME_UP (AF)Windows 2000/XP: Volume Up keyVK_MEDIA_NEXT_TRACK (B0)Windows 2000/XP: Next Track keyVK_MEDIA_PREV_TRACK (B1)Windows 2000/XP: Previous Track keyVK_MEDIA_STOP (B2)Windows 2000/XP: Stop Media keyVK_MEDIA_PLAY_PAUSE (B3)Windows 2000/XP: Play/Pause Media keyVK_LAUNCH_MAIL (B4)Windows 2000/XP: Start Mail keyVK_LAUNCH_MEDIA_SELECT (B5)Windows 2000/XP: Select Media keyVK_LAUNCH_APP1 (B6)Windows 2000/XP: Start Application 1 keyVK_LAUNCH_APP2 (B7)Windows 2000/XP: Start Application 2 key- (B8-B9)ReservedVK_OEM_1 (BA)Used for miscellaneous characters; it can vary by keyboard.Windows 2000/XP: For the US standard keyboard, the ';:' key VK_OEM_PLUS (BB)Windows 2000/XP: For any country/region, the '+' keyVK_OEM_COMMA (BC)Windows 2000/XP: For any country/region, the ',' keyVK_OEM_MINUS (BD)Windows 2000/XP: For any country/region, the '-' keyVK_OEM_PERIOD (BE)Windows 2000/XP: For any country/region, the '.' keyVK_OEM_2 (BF)Used for miscellaneous characters; it can vary by keyboard.Windows 2000/XP: For the US standard keyboard, the '/?' key VK_OEM_3 (C0)Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '`~' key - (C1-D7)Reserved- (D8-DA)UnassignedVK_OEM_4 (DB)Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '[{' keyVK_OEM_5 (DC)Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '\|' keyVK_OEM_6 (DD)Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the ']}' keyVK_OEM_7 (DE)Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the 'single-quote/double-quote' keyVK_OEM_8 (DF)Used for miscellaneous characters; it can vary by keyboard.- (E0)Reserved (E1)OEM specificVK_OEM_102 (E2)Windows 2000/XP: Either the angle bracket key or the backslash key on the RT 102-key keyboard (E3-E4)OEM specificVK_PROCESSKEY (E5)Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key (E6)OEM specificVK_PACKET (E7)Windows 2000/XP: Used to pass Unicode characters as if they were keystrokes. The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information, see Remark in KEYBDINPUT, SendInput, WM_KEYDOWN, and WM_KEYUP- (E8)Unassigned (E9-F5)OEM specificVK_ATTN (F6)Attn keyVK_CRSEL (F7)CrSel keyVK_EXSEL (F8)ExSel keyVK_EREOF (F9)Erase EOF keyVK_PLAY (FA)Play keyVK_ZOOM (FB)Zoom keyVK_NONAME (FC)Reserved VK_PA1 (FD)PA1 keyVK_OEM_CLEAR (FE)Clear key
MFC中,窗口响应键盘消息, PreTranslateMessage响应之前必须先按下方向键?
* 猜想可能是焦点的问题。把焦点改变一下!
or 尝试 添加
case WM_GETDLGCODE:
return DLGC_WANTALLKEYS;
对于对话框程序 你必须要注意 WM_GETDLGCODE 消息 。它有时候很有用。
它的返回值意义如下:
#define DLGC_WANTARROWS 0x0001 /* Control wants arrow keys */
#define DLGC_WANTTAB 0x0002 /* Control wants tab keys */
#define DLGC_WANTALLKEYS 0x0004 /* Control wants all keys */
#define DLGC_WANTMESSAGE 0x0004 /* Pass message to control */
#define DLGC_HASSETSEL 0x0008 /* Understands EM_SETSEL message */
#define DLGC_DEFPUSHBUTTON 0x0010 /* Default pushbutton */
#define DLGC_UNDEFPUSHBUTTON 0x0020 /* Non-default pushbutton */
#define DLGC_RADIOBUTTON 0x0040 /* Radio button */
#define DLGC_WANTCHARS 0x0080 /* Want WM_CHAR messages */
#define DLGC_STATIC 0x0100 /* Static item: don't include */
#define DLGC_BUTTON 0x2000 /* Button item: can be checked */