发表回复 
怎样让两个中文冒号,变成两个英文冒号?
2017-09-25, 05 : 56
怎样让两个中文冒号,变成两个英文冒号?
需求
中文输入法下,连续输入两个冒号,自动变成英文的俩冒号,且输入法状态继续是中文

尝试
试过这样写,有效,但有副作用:
代码: (全选)
:*?Z:::::
        sendL("::")
        KeyWait, Shift
        SendInput, {Shift}
        return
副作用如下图:
[Image: 2017_09_25_888.gif]

还试过这样写,也有效,但副作用更大;
代码: (全选)
RShift up::    ;函数lastNKey(n)返回keyhistory中最近n次击键记录
    if ( lastNKey(5)[1] = ";" && lastNKey(5)[2] = ";" && lastNKey(5)[3] = ";" && lastNKey(5)[4] = ";" )
    {
        SendInput, {BS}{BS}
        sendL("::")
    }
    return

请教大家:有没不干扰其它按键的解决方案呢?Blush 谢谢
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2017-09-26, 10 : 32 (这个帖子最后修改于: 2017-09-26 11 : 09 by abc001.)
RE: 怎样让两个中文冒号,变成两个英文冒号?
参考这扁文章http://blog.csdn.net/teshorse/article/details/5754732
代码: (全选)
::::;::   ;中文输入法下相当于要按四个键::;;变成::

    SendbyClip("::")

    return

sendbyclip(var_string)

{

    ClipboardOld = %ClipboardAll%

    Clipboard =%var_string%

    sleep 100

    send ^v

    sleep 100

    Clipboard = %ClipboardOld%  ; Restore previous contents of clipboard.

}

刚想到一个更简单的方法:
代码: (全选)
:::::: ;中文输入法下相当于要按三个:键变成::
send,{ASC 58}{ASC 58}
return
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
[+] 1用户表示感谢abc001
2017-09-27, 09 : 34
RE: 怎样让两个中文冒号,变成两个英文冒号?
(2017-09-26 10 : 32)abc001 提到:  参考这扁文章http://blog.csdn.net/teshorse/article/details/5754732
代码: (全选)
::::;::   ;中文输入法下相当于要按四个键::;;变成::

    SendbyClip("::")

    return

sendbyclip(var_string)

{

    ClipboardOld = %ClipboardAll%

    Clipboard =%var_string%

    sleep 100

    send ^v

    sleep 100

    Clipboard = %ClipboardOld%  ; Restore previous contents of clipboard.

}

刚想到一个更简单的方法:
代码: (全选)
:::::: ;中文输入法下相当于要按三个:键变成::
send,{ASC 58}{ASC 58}
return

谢谢,解决了,这样写的:Blush
代码: (全选)
~+;::
        If (A_PriorHotkey = "~+;" and A_TimeSincePriorHotkey < 500 and flag = true){
            SendInput, {BS 2}{asc 58}{asc 58}
            SendInput, {Shift}
            flag := false
        } else {
            flag := true
        }
        return
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2017-09-27, 15 : 02 (这个帖子最后修改于: 2017-09-27 15 : 06 by abc001.)
RE: 怎样让两个中文冒号,变成两个英文冒号?
@bootislands1
刚试了下无效,又试了下才发现原来要快速按两次::才会变成::。
很好的代码,比我的要少输一次:。
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
发表回复 


论坛跳转:


联系我们 | Autohotkey 中文站 | 回到顶部 | 回到正文区 | 精简(归档)模式 | RSS 聚合