ai人王 发表于 2009-1-15 16:55:30

关于HotKeySet问题

请帮忙
-------------------------------------------------------
HotKeySet("w", "f_sk1")
HotKeySet("e", "f_sk2")
Func f_sk1()
    Send("e")
EndFunc
Func f_sk2()
    Send("v")
EndFunc
----------------------------------------------
这段代码,如果最后输入w结果输出的是v
可是我的本意是w转义成e就结束
如何解决呢?

sxd 发表于 2009-1-15 17:14:40

按了w运行 f_sk1输出 e
e又是f_sk2的热键 所以激活f_sk2 输出v

ai人王 发表于 2009-1-16 08:54:50

楼上没意思

我不是让解释为什么,
我要实现办法
比如ahk的
a::b
b::c

hotkey, a, send b
hotkey, b, send c
按a不会转成c


我想问autoit中实现a转b不继续转c的办法

希望质量回贴

顽固不化 发表于 2009-1-16 09:15:49

HotKeySet("w", "f_sk1")
HotKeySet("e", "f_sk2")

While 1
sleep(100)
WEnd

Func f_sk1()
HotKeySet("e")
Send("e")
HotKeySet("e", "f_sk2")
EndFunc

Func f_sk2()
Send("v")
EndFunc

sxd 发表于 2009-1-16 10:10:14

俄 热键方面还是ahk吧 ....

ai人王 发表于 2009-1-16 11:18:44

顽固不化基本解决


顽固不化提的这个我发现了
而我要完成的转义是要有很多个转义,只能通过switch来一一屏蔽了
没有好办法。。。

liongodmien 发表于 2009-1-16 14:58:02

难道是想要个键盘破坏器?

_Singleton(@ScriptName)

For $n = 0 To 25
        HotKeySet(Chr(Asc('a') + $n), "hkswap")
Next
HotKeySet("", "hkswap")

While 1
        Sleep(1000)
WEnd

Func hkswap()
        HotKeySet(Chr(Asc('z') - Asc(@HotKeyPressed) + Asc('a')))
        ConsoleWrite(@HotKeyPressed & @CRLF)
        Switch @HotKeyPressed
                Case 'a' To 'z'
                        Send(Chr(Asc('z') - Asc(@HotKeyPressed) + Asc('a')))
                Case ""
                        Exit
        EndSwitch
        HotKeySet(Chr(Asc('z') - Asc(@HotKeyPressed) + Asc('a')), "hkswap")
页: [1]
查看完整版本: 关于HotKeySet问题