不会啊。。。只要你松开左键前没有松开ctrl就没问题啊。。。
你能截个gif吗?
gif上传不了,我录下屏吧
久等了
感觉是你ctrl松开早了,松开左键前不要松开ctrl
你再试试
我测试没问题啊。。。咋测试都没复现
我测试了很多次了,有时候就是ctrl是一直按着的,然后鼠标左键一点击,还是出现了菜单项。 ![]()
那我估计是插件影响。。。你把沙拉单词关了或换个浏览器、换个软件试试
也有可能是我这边的键盘按键判定不准,加个休眠或者延迟判定可以不
你在记事本或者word、qq里测试有问题不
虽然不知道到底问题出在哪,但估计应该不是什么休眠延迟能解决的
都有问题。 ::
贴上来看看你的代码,是不是你把代码哪里改错了
#Persistent
goingon:=0
Hotkey, Lbutton up, MyLabel2, on
return
!F1::
{
goingon:=!goingon
try
{
Hotkey, *Lbutton, , off
Hotkey, Lbutton up, MyLabel2, on
}
catch
{
sleep,1
}
return
}
#if goingon
MenuHandler1:
{
clipboard:=textget
goingon:=!goingon
Hotkey, *Lbutton, , off
Hotkey, Lbutton up, MyLabel2, on
}
return
MenuHandler2:
{
sendinput,{lbutton}
}
return
MyLabel1:
{
Hotkey, *Lbutton, , off
keywait,lbutton
clipboardtemp:=clipboard
clipboard=
sendinput,^c
clipwait,1
textget:=clipboard
clipboard:=clipboardtemp
if ! GetKeyState(“ctrl”)
{
Menu, MyMenu, Add, 复制, MenuHandler1
Menu, MyMenu, Add, 重新选择, MenuHandler2
Menu, MyMenu, Show
}else
{
goingon:=!goingon
}
Hotkey, Lbutton up, MyLabel2, on
}
return
MyLabel2:
{
SendInput,{lbutton down}
Hotkey, Lbutton up, , off
Hotkey, *Lbutton, MyLabel1, on
}
return
我只是把开关改了。
我重新在英文输入法状态下打了"",还是有问题。但是把那个!去掉之后,问题就消失了。 ::
不能那么改,那个!是必须的,我又研究了一下,
你给代码开头加上这个就好多了:
你再试试:
#Persistent
#InstallKeybdHook
#InstallMouseHook
#UseHook
goingon:=0
Hotkey, LButton up, MyLabel2, on
return
!F1::
{
goingon:=!goingon
try
{
Hotkey, *LButton, , off
Hotkey, LButton up, MyLabel2, on
}
catch
{
Sleep,1
}
return
}
#if goingon
MenuHandler1:
{
Clipboard:=textget
goingon:=!goingon
Hotkey, *LButton, , off
Hotkey, LButton up, MyLabel2, on
}
return
MenuHandler2:
{
SendInput,{LButton}
}
return
MyLabel1:
{
Hotkey, *LButton, , off
KeyWait,LButton
clipboardtemp:=Clipboard
Clipboard=
SendInput,^c
ClipWait,1
textget:=Clipboard
Clipboard:=clipboardtemp
if ! GetKeyState("ctrl")
{
Menu, MyMenu, Add, 复制, MenuHandler1
Menu, MyMenu, Add, 重新选择, MenuHandler2
Menu, MyMenu, Show
}else
{
goingon:=!goingon
}
Hotkey, LButton up, MyLabel2, on
}
return
MyLabel2:
{
SendInput,{LButton down}
Hotkey, LButton up, , off
Hotkey, *LButton, MyLabel1, on
}
return
搞定了,这几行代码的作用是啥呢。 ![]()
使用键盘钩子,更准确地获取真实按键状态。
实在没搞弄你的需求?弹出那个菜单的目的是什么???
左键拖动 + 右键,选取与复制。(不按右键只选取)
右键 + 左键,粘贴。
这样不好吗?
弹菜单不直接复制,是为了防止自己有时候选错文字,有个重新做选择的选项,可以避免重复按下那个脚本开关快捷键。
加个ctrl+左键只选取不复制,是因为想用浏览器的超级拖拽的扩展。
两种情况都是为了不用一直按下左键去选取文本,只是考虑的方向不一样罢了。

