![AHK 快餐店[26] 在命令提示符下粘贴[图] | 小众软件 AHK 快餐店[26] 在命令提示符下粘贴[图] | 小众软件](http://img1.appinn.com/2009/20071029/213923_2061216184_drdltcra.jpg)
命令提示符非常令人讨厌的一点是,不能用快捷键 Ctrl+V 粘贴。所以,便有了这段帅呆了的代码:
#IfWinActive ahk_class ConsoleWindowClass
^v::
send %Clipboard%
return
#IfWinActive 是一个用来对特定窗口实现快捷键(hotkey)和热字符串(HotString)的命令,ahk_class ConsoleWindowClass 是命令提示符的类名,可以用 ahk 自带的 Window Spy 获得。一起解释就是,以下热键只对命令提示符起作用,其他窗口中 Ctrl + V 还是原来的 Ctrl + V。
Clipboard 是代表剪贴板的 ahk 自带的变量,我们要把 Clipboard 的值发送出去,所以当然要加上双引号。http://www.appinn.com/本文来自小众软件。
此命令当然不能发送中文了,一般来说,很少情况下会在命令提示符里粘贴中文。这里有代码演示怎么发送中文。
另为什么不模拟右键的动作来粘贴呢?问得好,因为我们不知道当前的鼠标是不是停留在命令提示符的上方,所以直接 Send {RButton} 的办法是不通用的。
难道就没有办法了吗?不是滴。请看下面的代码:
#IfWinActive ahk_class ConsoleWindowClass
^v::
MouseClick, Right, %A_CaretX%, %A_CaretY%,,0
send p
return
MouseClick 的相关参数请看中文版的 ahk 帮助文件。A_CaretX 又是一个 ahk 自带的变量,它的值就是当前光标——特指那个文本框中一闪一闪的光标——的 X 坐标,A_CaretY 当然就是 Y 坐标了。AHK 无法正确得到光标在 Firefox 下的坐标。
Send p ,就是在右键菜单弹出来后,按下 p,点击粘贴命令。




10 Comments:
邪恶啊,半夜post。。
回复
猪腿
回复
你更邪恶…好好的床不睡偏要睡沙发…
回复
板凳
回复
弱弱的问下,偶想在腾讯的网游DNF中使用某个技能,这技能是用←space组合的,就是按下方向键左,再快速按空格键就能出来,然后我按脚本里的键盘替换写了
f2::
send {left}{space}
可这样写出来后在外面是可以用的,不过进了游戏却不行。
ps.偶只会简单的键盘堆替换和热字符串,别的更复杂的不会写 (_ _)
ps2.虽然已经有工具可以实现DNF的技能替换,不过那些在全局下面也能用,不太方便,有没有可能让脚本只在DNF的程序下才能用。
再次感谢
回复
第一个问题,建议试试 http://ahk.5d6d.com/thread-68-1-1.html
第二个:本文不就是教了怎么在特定窗口实现快捷键了嘛~看不明白请看以前的教程。或者去上面那个链接的地址提问。
回复
谢谢提供的连接,终于能用了。不过不会用那个WINSPY,所以一直没法获取这个程序的窗口名或类。偶还找到了这个https://groups.google.com/group/autohotkey-appinn/browse_thread/thread/a3b7b3a943a28f7c ,还在不停的试。再次感谢
回复
(_ _) 这个符号能看成美女的健臀压在你的双腿之上么?
发送函数真是太复杂了,看起来只能拿来藏着……
不懂的可以老老实实模拟操作,啊哈哈哈
回复
其实命令提示符下复制比粘贴更可恶,粘贴么,活动活动手腕按右键就好,复制还要求眼神好。
所以我邪恶地用同一个梦想版PowerCmd~
另外URL里推广一点私货……暂时只有一点……
回复
那个算不上能上小众的私货吧?PowerCmd 我想一般人不会用那么强大的吧。
平时我也很少用到。最多的就是上次做智能解压,老是折腾 7z,最近网络不稳定,老 ping。
回复
呃,每次使用快捷键时还要先打开这个AHK,貌似更加麻烦
回复
这位小朋友,当然是一直运行着啦,或者加到一直运行着的 ahk 里面。
回复
加到一直运行着的 ahk 里面?
回复
是啊,估计你没用 ahk。
回复
只有特殊需要是才开
回复
同意
回复
你想要什么玩意可以说嘛,我可没说私货一定要上小众……
其实我用新浪网盘不过是想备份一点东西,顺便赚点积分。
回复
不好意思在外面看小众发评论错了位置……
回复
ie6 错位,新模板折腾中。
想要点可以上小众的软件。。。。
回复
非常实用的代码,谢谢分享!^_^
回复
在“属性”里勾选“快速编辑模式”后,复制和粘贴就方便多了:
复制 — 直接选中文字,再右击一下或回车。
粘贴 — 右击。
回复
哇靠。顶!
回复
我的笔记本键盘有个Fn,他的代码是163,
SC163&o::Run op.lnk
SC163&f::Run f.lnk
结果无论按Fn和什么键,都是启动op.lnk,请问我该如何处理?谢谢
回复
你的意思是:当你按下 fn 就启动了 op.lnk?
我没有笔记本。。建议试试加个空格,如果不行,我也没办法啦。
SC163 & o::Run op.lnk
回复
还是不行,非常感谢您的答复.
回复
One Trackback