AutoHotKey如何确定复制的字符串是否为数字?

时间:2013-10-01 20:25:56

标签: autohotkey

以下 AutoHotKey 代码段应该是:

  1. 验证复制的字符串是否为数字
  2. 如果是,请在网站和Windows搜索中搜索该号码。
  3. 什么都没发生。 If的表达式没有看到整数并绕过代码。

    有什么想法吗?

    Send ^c
    sss = ClipBoard
    
    if sss is integer
    {
        Run, https://sd.borschow.com:8443/SREdit.jsp?id=%sss%
        Run, search-ms:query=%sss%
    }
    

1 个答案:

答案 0 :(得分:2)

文本副本通常没有AHK执行后续代码那么快。也就是说,您需要等待剪贴板更新:

F9::
    oldClip := ClipboardAll
    Clipboard := ""
    Send, ^c
    ClipWait
    clip := Clipboard
    if clip is integer
    {
        msgbox, integer
    }
    else
    {
        msgbox, not an integer
    }
    Clipboard := oldClip
    ; we better make that empty, since it could contain sensitive data
    oldClip := "" 
return

最佳做法是存储剪贴板,清空它,触发副本,并等待剪贴板包含某些内容。最后,如果您不再需要内容,请恢复旧剪贴板。