搜索
查看: 22530|回复: 24

[模拟按键] 超级热键演示

    [复制链接]

110

主题

1278

帖子

7346

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7346
发表于 2011-9-25 22:05:33 | 显示全部楼层 |阅读模式
一、普通热键的缺陷

大家知道,系统默认激活一个热键需要同时按下一组键。
这样能创建的热键非常有限,组合键位越多,操作也就越麻烦,手比较累,很不方便。

二、超级热键的优势

超级热键指可以连续的按下一组预设的按键,不是必须同时按下,并可以触发相应的操作。
这样可以创建大量方便记忆的热键,操作方便,配置灵活。

大家在使用aardio的时候,可以试试按下CTRL+K ,
注意状态栏的出现的提示:“(CTRL+K)已按下,正在等待按下第二个键”
这个就是超级热键的一种形式。 

三、超级热键的使用

使用 import key.hotkey 导入超级热键支持库

使用 hotkey = key.hotkey( winform ) 创建热键管理器,
注意需要在参数中指定一个win.form窗体对象。

hotkey提供以下注册热键的函数。

hotkey.reg(...,proc)
可以指定一组连续的虚拟键码或键名(可以使用工具里的按键指令生成器查看键名),
最后一个参数用于指定触发的动作,该参数可以是一个函数,也可是一段用于自动发送的文本,或者是一段aardio代码,甚至是一个aau文件也可以。

hotkey.regStr( str,proc )
此函数用法基本与hotkey.reg相同,不同的是用一个字符串来表示连续的键名,
这里指的是一些普通的单字节符,例如字母、数字、英文标点等等。

hotkey.regEndStr( str,proc )
此函数用法基本与hotkey.regStr()相同,区别在于该热键需要预设的终结符按键来完成。
可以使用hotkey.setEndKeys()来指定终结符按键,默认预设的是:
  1. "-","(",")","[","]","{","}",":",";","'",'"',"/","",",",".","?","!",'\n','\t'
复制代码

四、下面是一个完整的范例

import win.ui;
/*DSG{{*/
var winform = win.form(text="超级热键演示";right=349;bottom=249 )
winform.add(
edit={ bottom=225;right=341;left=19;multiline=1;top=16;z=1;text=
'~hi\r\nSHIFT+Q,Q\r\n~AAU.CN\r\nCtrl+K\r\nCtrl+K,K点这里,连续按上面各行的键:\r\n';edge=1;cls="edit" }
)
/*}}*/

import key.hotkey;

//创建超级热键,必须用于窗口程序中
hotkey = key.hotkey(winform)

hotkey.reg(
   
"CTRL","K",
   
function(hwnd,...){
        ..winex.say(
"你按了CTRL+K!")
    }
)

hotkey.reg(
   
"CTRL","K","K",
   
function(hwnd,...){
        ..winex.say(
"你按了CTRL+K,K!")
    }
)

//添加新的热键方案  
hotkey.reg(
   
"~","H","I",
   
function(hwnd,...){
        ..winex.say(
"hello world!")
    }
)

//添加新的热键方案
import fsys.lnk;
import process;
hotkey.reg(
   
"SHIFT","Q","Q",
   
function(...){  
        
var path = fsys.lnk.search("qq.exe");
        process.
execute(path)
    }
)

hotkey.regStr(
   
"~aau.cn",
   
function(...){
        ..winex.say(
"http://bbs.aardio.com",hwnd)
    }
)
  
//可选指定下面的触发器函数, 当用户按下部分热键、并有一个或多个可能的候选键时触发
import win.util.tray;
hotkey.waitproc =
function( hwnd,tenter,twait ){
   
if(!tenter){
        win.util.tray.pop()
        
return;
    }  
    win.util.tray.pop(
        
'已按下:'
        + ..string.join(tenter,
"+")  
        +
' 等待候选键:'
        + ..string.join(twait,
",")
        ,
"超级热键模式已启动"
    )
}

winform.show()
win.loopMessage();
回复

使用道具 举报

33

主题

544

帖子

3309

积分

荣誉会员

Rank: 8Rank: 8

积分
3309
发表于 2011-9-25 22:28:29 | 显示全部楼层

支持一下,很实用的功能

支持一下,很实用的功能
回复

使用道具 举报

40

主题

566

帖子

3258

积分

五级会员

超级初学者

Rank: 8Rank: 8

积分
3258
发表于 2011-9-25 22:33:41 | 显示全部楼层

新功能 更强大

新功能  更强大
http://echong.taobao.com 各类话费充值,请多支持!
回复

使用道具 举报

52

主题

1341

帖子

7331

积分

荣誉会员

Rank: 8Rank: 8

积分
7331
发表于 2011-9-25 23:15:40 | 显示全部楼层

谢谢老大,又带给我们好东西,辛苦了~~

谢谢老大,又带给我们好东西,辛苦了~~
回复

使用道具 举报

18

主题

122

帖子

748

积分

三级会员

各种菜

Rank: 4

积分
748
发表于 2011-9-26 00:40:21 | 显示全部楼层

貌似,以前aardio环境里有这样的功能,现在才发现

貌似,以前aardio环境里有这样的功能,现在才发现
快手,让我的心插上翅膀
回复

使用道具 举报

56

主题

475

帖子

4087

积分

荣誉会员

Rank: 8Rank: 8

积分
4087
发表于 2011-9-26 00:43:09 | 显示全部楼层

支持支持。。。

支持支持。。。
回复

使用道具 举报

75

主题

851

帖子

4957

积分

六级会员

The only one

Rank: 9Rank: 9Rank: 9

积分
4957
发表于 2011-9-26 11:23:18 来自手机 | 显示全部楼层

热键方案丰富了许多!

热键方案丰富了许多!
小时候,幸福是一件东西,拥有就是幸福; 长大了,幸福是一个目标,达到就是幸福; 成熟后,发现幸福原来是一种心态,领悟就是幸福.
回复

使用道具 举报

2

主题

37

帖子

254

积分

二级会员

Rank: 3Rank: 3

积分
254
发表于 2011-9-26 15:31:06 | 显示全部楼层

强大的,热键方案。

强大的,热键方案。
回复

使用道具 举报

12

主题

112

帖子

872

积分

三级会员

Rank: 4

积分
872
发表于 2011-9-26 15:55:17 | 显示全部楼层

Jacen真勤奋!不断推出新功能{:soso_e179:}

Jacen真勤奋!不断推出新功能{:soso_e179:}
回复

使用道具 举报

7

主题

303

帖子

1897

积分

四级会员

Rank: 6Rank: 6

积分
1897
QQ
发表于 2011-9-27 09:50:09 | 显示全部楼层

支持一下!

支持一下!
回复

使用道具 举报

6

主题

64

帖子

393

积分

荣誉会员

Rank: 8Rank: 8

积分
393
发表于 2011-9-27 14:37:23 | 显示全部楼层

支持老大

支持老大
回复

使用道具 举报

6

主题

59

帖子

445

积分

二级会员

Rank: 3Rank: 3

积分
445
发表于 2011-9-27 17:43:30 | 显示全部楼层

很好的改进 好的实用功能

很好的改进 好的实用功能
回复

使用道具 举报

9

主题

79

帖子

582

积分

三级会员

Rank: 4

积分
582
发表于 2011-10-4 12:30:21 | 显示全部楼层

好久没上论坛回复了,这个功能挺好玩的。支持一下老大!

好久没上论坛回复了,这个功能挺好玩的。支持一下老大!
回复

使用道具 举报

8

主题

97

帖子

650

积分

三级会员

Rank: 4

积分
650
发表于 2012-2-23 04:35:19 | 显示全部楼层

脚印,好教程

脚印,好教程
回复

使用道具 举报

10

主题

523

帖子

3088

积分

五级会员

子非魚、安知魚之樂

Rank: 8Rank: 8

积分
3088
发表于 2012-2-24 21:21:38 | 显示全部楼层

建议增加个 hotkey.regTable()函数 方便注册多个热键^_^

建议增加个 hotkey.regTable()函数  方便注册多个热键^_^
回复

使用道具 举报

8

主题

94

帖子

641

积分

三级会员

叫我何细尔

Rank: 4

积分
641
QQ
发表于 2012-2-26 18:35:39 | 显示全部楼层

{:3_48:}真是勤劳的作者呀!~ 佩服Jacen的精神。

真是勤劳的作者呀!~ 佩服Jacen的精神。
回复

使用道具 举报

0

主题

14

帖子

116

积分

一级会员

Rank: 2

积分
116
发表于 2012-3-12 14:06:42 | 显示全部楼层

[quote][size=2][color=#999999]满月星光 发表于 2012-2-26 18:35[/color] [url=forum.php?mo

满月星光 发表于 2012-2-26 18:35
真是勤劳的作者呀!~ 佩服Jacen的精神。

很好,很强大
回复

使用道具 举报

2

主题

45

帖子

256

积分

二级会员

Rank: 3Rank: 3

积分
256
发表于 2012-3-14 17:17:50 | 显示全部楼层

新手学习中,看帖必顶

新手学习中,看帖必顶
回复

使用道具 举报

9

主题

49

帖子

1万

积分

九级会员

Rank: 12Rank: 12Rank: 12

积分
17763
发表于 2012-5-6 00:02:22 | 显示全部楼层

Learn more {:3_46:}

Learn more
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2017-9-25 19:36 , Processed in 0.062500 second(s), 21 queries , WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表