Autohotkey 中文论坛

完整版: 如何实现监视剪切板,并在符合条件时将剪切板内容赋值给相应的变量?
你目前正在浏览的是简化版. 请点击这里浏览完整版
如何实现监视剪切板,并在符合条件时将剪切板内容赋值给相应的变量?

以下为实现该功能的一串代码

[table=50%][tr][td]Loop
{
bltest = %Clipboard% ;
StringLen , bllong , bltest ;将bltest的长度赋值给bllong
StringLeft , blz2 , bltest , 2 ;将bltest左起2位字符赋值给blz2
If ( bllong = 6 )
{
blname = %bltest% ;赋值
}
If ( bllong = 7 )
{
blpn = %bltest% ;赋值
}
If ( bllong = 10 )
{
blsn = %bltest% ;赋值
}
If ( blz2 = 86 )
{
bltel = %bltest% ;赋值
}
If ( bllong > 36 )
{
blqa = %bltest% ;赋值
}
IfInString , bltest , @ ;若bltest中包含@,则
{
blemail = %bltest% ;赋值
}
}[/td][/tr][/table]使用以上的代码的确可以起到监视剪切板,并在符合条件时将剪切板内容赋值给相应变量的作用,但是有如下缺点:
1.代码执行时CUP占用率较高(不是一般的高,而是“高乐高”!)
2.若“复制”的操作比较快,则会产生变量值不正确的情况,总是会保留上一次“复制”时留下的值
希望高手指教!!!多谢!!
如果你一般用 快捷键进行复制的话,你可以用 Ctrl+C 来触发这段代码。
有 OnClipboardChange: 这个特殊Label。

在剪贴板有改动(无论什么程序改动剪贴板内容)时会自动运行 OnClipboardChange: 里的脚本。

具体看帮助:


简单举个例子:
代码:
#Persistent
return

OnClipboardChange:
   ;剪贴板有改动后自动执行的代码
  return
多谢,已解决……

[ 本帖最后由 fanofplant 于 2008-11-26 19:50 编辑 ]
这个对我:lol 有帮助
参考网址