AHK 快餐店[8] 之 读者互动[1]

上回讲到 steen 学会了如何把鼠标键盘动作录制成一个 AHK 脚本,今天我们来点读者互动。


1、helfee 在《AHK 快餐店[3] 之 挖地三尺,文件夹想进就进》

总算搞清楚 regedit 打开指定路径的方法了,哈哈 这下就可以实现:在网上看教程的时候,选中路径(或者注册表路径),然后按下快捷键 Win + J 就会打开选中的路径!

我的想法是:对于 XP 下,好办。其他操作系统的估计要用第三方注册表软件。

XP 的注册表编辑器有个很鸡肋的功能:记住上次打开的键。ok!只要我们事先用 AHK 修改这个地方的位置,我们不就实现了这个神奇的功能?

#j::
send ^c
; 复制选中的文字
clipwait
; 等待复制动作的完成
StringReplace, clipboard, clipboard, \, \, All
; 网络一些文章很不严谨,“\”“\”不分。替换掉剪贴板中所有的“\”,并且再把替换后的文字发送到剪贴板。
RegWrite, REG_SZ, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Applets\Regedit, LastKey, 我的电脑\%clipboard%
; 把负责注册表最近打开的键值修改为剪贴板中的路径。参数 REG_SZ 就是右上角图片中 LastKey 的类型。HKEY_CURRENT_USER 就是目标注册表分支,接着的参数是目标路径,然后是要修改的键,最后是要修改的值。
run regedit
; 运行注册表
return

2、杨克 在《AHK 快餐店[5] 之 打字太慢?试试屏幕键盘》 :

请问怎样修改~才能把这个程序的位置稍稍向上移一下~

答:很简单,在记事本里面搜索:k_WindowY -= %k_WindowHeight%
然后在后面加上两句:

k_WindowY -= 100
; 上面的 100 表示你要上移的像素。这句相当于:k_WindowY := k_WindowY - 100 ,也就是自减 100。
k_WindowX -= 100

3、李二嫂的猪 在《AHK 快餐店[6] 之 颜色神偷》

还可以利用 MouseGetPos 来做一个屏幕尺。

比如看看你的头像的宽、高分别是多少。我也知道这种东西估计是纯小众软件了,用的人少,使用频率也不高。

直接对着图片右键选择“属性”,这样不是更快更方便?屏幕尺这样的功能也太小众了吧。有兴趣的不妨挑战一下。如果写出来的话,记得要过来留言哦。

下回预告:AHK 快餐店[9] 之 让鼠标移动一像素


Tag: , 2,222 views
有 16 个留言,我也要留言

[...] 下回预告:AHK 快餐店[8] 之 读者互动[1] (1 votes, average: 5 out of 5) Tags: AHK, 键盘, 鼠标 | 386 views | 抓虾 | 鲜果 | GReader | Del.icio.us | QQ 书签 | 就喜欢 相关文章鼠标移动距离/键盘点击次数统计 (15)SharpKeys - 键盘映射与失效 (10)DigitWiz - 字母数字与手机键盘 (8)StrokeIt-无处不在的鼠标手势 (23)德深鼠标输入法 - 只用鼠标的输入法 (19) [...]

我也是用的这个办法,我用2003的,也是那个键值,估计其它系统也一样了~
我把这个放你推荐的Folder Menu里和打开路径的在一起,加了个判断
当时本想搜有没有regedit的相关参数的,这没找到倒是看到还有个/m参数,多开

想请教下sfufoet,DllCall怎么用啊,我没学过编程不知道什么API啥的..想用DllCall了看哪些资料能了解下啊?

DllCall,我也不会用,它是拿来调用 DLL 文件中的函数。

API 是应用程序接口,天极有很详细的介绍

AHk 已经很强大了,我们这些菜鸟根本用不着去调用系统的 API 。

是啊,反正自从用了AHK后就越来越喜欢这个软件了
有啥繁琐操作都用它来解决
像有次玩游戏用修改器加物品,里面那个列表至少有几百个物品名称,自己翻着找了几次,麻烦死了,就用AHK弄了个自动选择的,输了名称就自动选上.
还有快捷键切换显示/隐藏系统文件和后缀,重装系统后设置等等等等太多了,这个软件太方便了,我开机启动都用的AHK脚本
希望用这个的越来越多,更多人能看到你的教程,更多人了解AHK啊
想知道dllcall也就是想有问题了能多个思路,呵呵,确实,AHK 已经很强大了!!!

[...] AHK 快餐店[8] 之 读者互动[1] 10-29-2007 [...]

那个啥, 屏幕尺, 是不是这样写的?
左键确定第一个点, 然后右键确定第二个点…

Loop,
{
GetKeyState, lb, LButton
if (lb=”D”)
{
MouseGetPos, x1, y1
Break,
}
}
Loop,
{
GetKeyState, rb, RButton
if (rb=”D”)
{
MouseGetPos, x2, y2
x2:=x2-x1
y2:=y2-y1
ToolTip, %x2%px %y2%px
Sleep, 3000
ExitApp,
}
}

@3m,在我这里测试失败。多谢你的支持!

@3M,if lb=D就行 别括号~加括号多麻烦

@sfufoet, 我这里测试有用? 失败的原因应该是小众自动把代码中的半角引号转成了全角的引号…
@helfee, 嗯嗯, 才知道原来不用加括号也可以…

@3m,双引号的问题我知道,原来给弹出来的右键菜单挡住了。:)

那个查找注册表的是不是太残忍了,每查找一次都要写入注册表值一次。

@tireless,可以加个判断呀,是注册表路径了再继续
ps:绝对不残忍,哈哈,软件读写注册表很普通吧

@helfee,没看懂你的意思
ps:这个“@”是哪里的“语言”?AHK里面的?

@tireless,我也不知道,在煎蛋学的。digg 的评论都是这样的。

这个好啊,比写个 to ×××× 方便多了。

@tireless,比如上面的脚本这样~

#j::
send ^c
clipwait
StringReplace, clipboard, clipboard, \, \, All
StringLeft, reg,clipboard, 5 ;加上这个
if reg=HKEY_ ;不是 HKEY_ 开头就不打开
{
RegWrite, REG_SZ, HKCU, Software\Microsoft\Windows\CurrentVersion\Applets\Regedit, LastKey,%clipboard%
run regedit /m ;多开..
}
return

是说这个不?..

AutoIt 脚本:

$RegWriteResult = RegWrite(”HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit”,”LastKey”,”REG_SZ”,$RegKey)
If $RegWriteResult Then
;打开注册表编辑器
Run(”regedit”)
Else
;如果没有注册表访问权限,这个程序就无法使用
MsgBox(16,”错误”,”错误,请检查是否有注册表修改权限!”)
EndIf

留下评论

(必需)

(必需)