关于热键的问题(热键的作用域)
本帖最后由 ybbihsse 于 2010-12-31 14:58 编辑如何让热键的作用域只在于某个输入框中,离开这个输入框就失效!! _WinAPI_GetFocus()返回当前焦点,如果不等于句柄,则不执行自定义函数 可是这样子不地呀。HotKeySet用这个更改过热键出了这个输入框,到其他输入框的时候,热键还生效呀。 你可以试试这个
if WinActive("提示", "该病人已写报告,是否继续?") then 建议你修改标题, 会被锁的`~~ _WinAPI_RegisterHotKe
ceoguang 发表于 2010-12-31 14:52 http://www.autoitx.com/images/common/back.gif
这个是得怎么用呢,回车,空格,和TAB对应的$iModifiers是什么代码呀 ID是要怎么获取的呀?? id的值是从0到65535,只是用来标识的,多个热键时不要重复就行了 id的值是从0到65535,只是用来标识的,多个热键时不要重复就行了
ceoguang 发表于 2010-12-31 15:19 http://www.autoitx.com/images/common/back.gif
那TAB 空格和 回车三个热键分别是什么代码呢? misc.au3内有定义; 01 Left mouse button
; 02 Right mouse button
; 04 Middle mouse button (three-button mouse)
; 05 Windows 2000/XP: X1 mouse button
; 06 Windows 2000/XP: X2 mouse button
; 08 BACKSPACE key
; 09 TAB key
; 0C CLEAR key
; 0D ENTER key
; 10 SHIFT key
; 11 CTRL key
; 12 ALT key
; 13 PAUSE key
; 14 CAPS LOCK key
; 1B ESC key
; 20 SPACEBAR
; 21 PAGE UP key
; 22 PAGE DOWN key
; 23 END key
; 24 HOME key
; 25 LEFT ARROW key
; 26 UP ARROW key
; 27 RIGHT ARROW key
; 28 DOWN ARROW key
; 29 SELECT key
; 2A PRINT key
; 2B EXECUTE key
; 2C PRINT SCREEN key
; 2D INS key
; 2E DEL 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
; 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 key
; 5B Left Windows key
; 5C Right Windows key
; 60 Numeric keypad 0 key
; 61 Numeric keypad 1 key
; 62 Numeric keypad 2 key
; 63 Numeric keypad 3 key
; 64 Numeric keypad 4 key
; 65 Numeric keypad 5 key
; 66 Numeric keypad 6 key
; 67 Numeric keypad 7 key
; 68 Numeric keypad 8 key
; 69 Numeric keypad 9 key
; 6A Multiply key
; 6B Add key
; 6C Separator key
; 6D Subtract key
; 6E Decimal key
; 6F Divide key
; 70 F1 key
; 71 F2 key
; 72 F3 key
; 73 F4 key
; 74 F5 key
; 75 F6 key
; 76 F7 key
; 77 F8 key
; 78 F9 key
; 79 F10 key
; 7A F11 key
; 7B F12 key
; 7C-7F F13 key - F16 key
; 80H-87H F17 key - F24 key
; 90 NUM LOCK key
; 91 SCROLL LOCK key
; A0 Left SHIFT key
; A1 Right SHIFT key
; A2 Left CONTROL key
; A3 Right CONTROL key
; A4 Left MENU key
; A5 Right MENU key
; BA ;
; BB =
; BC ,
; BD -
; BE .
; BF /
; C0 `
; DB [
; DC \
; DD ] 呵呵,还是不太懂,
比如说焦点在A输入框中,我想让ENTER键变成回车键,然后焦点在B输入框时TAB键变成ENTER键
焦点在C按钮时,ENTER键变成空格键 回复 12# ybbihsse
拦截键盘消息并判断控件ID 用键盘加速器。
#include <GUIConstantsEx.au3>
guicreate("局部热键",200,100)
guictrlcreatelabel("暗下空格看看!!!!!!",10,10,180,20)
$hent=guictrlcreatebutton("",0,0,0,0)
guictrlsetstate(-1,$gui_hide)
Local $Acckeys=[["{space}",$hent]]
GUISetAccelerators($Acckeys)
guisetstate()
while 1
switch guigetmsg()
case -3
exit
case $hent
msgbox(64,"ok","是否你要得效果!!!")
endswitch
wend
检测焦点控件的句柄
失焦时就反注册热键
----------------------
能实现不
页:
[1]
2