2007.11.17 by sfufoet

AHK 快餐店[17] 之 秒杀 U 盘

39

AHK 快餐店[17] 之 秒杀 U 盘[图] | 小众软件
昨晚一直在测试一个把程序最小化到系统托盘的 AHK 脚本——mini2tray,测试到一半发现一个非常郁闷的 bug :BossKey 功能竟然只能用一次!如果你有兴趣的话,不妨试试它,令我佩服的是:在窗口标题栏上按下鼠标滚轮,窗口就会最小化到系统托盘。该脚本是纯快捷键实现操作的。右击其托盘图标,选“ Preferences ”就会打开其设置快捷键界面。

今天柠檬(LEMONed)同学在 Gtalk 上说: thinkpad 有一个很好用的工具,能非常方便的移除 usb 设备,你有空研究一下 ahk 的这个功能吧。

其实这个功能早就在我的 AHK 系列计划列表里面了。既然柠檬提到了,就顺便写出来吧。

特色功能——可以对付莫名其妙的:无法停止 ‘通用卷’ 设备。这个错误窗口,可是人人喊打。用过 Unlocker 的朋友一定会这样弹出 U 盘:打开我的电脑 → 右击 U 盘 →   unlocker → 全部解锁 → 再弹出一次 U 盘。

下面的脚本就是使用了 Unlocker 的命令参数。来看看用 AHK 写出来的吧:

AHK 快餐店[17] 之 秒杀 U 盘[图] | 小众软件

AHK 快餐店[17] 之 秒杀 U 盘[图] | 小众软件 带有绿色版 Unlocker 的压缩包:box | uushare | 无 Unlocker 的压缩包:box

DriveGet, DriverList, list, REMOVABLE
; 列出( list )移动设备( REMOVABLE )的盘符,如果你有两个移动设备,它们的盘符分别是 H: 和 I: 的话,那么这里 DriverList 的值会是: HI ,省略“ : ”。

StringSplit, DriverListArray, DriverList
; 把 DriverList 的值进行字符串分解,后面不带任何要分割的符号的话,表示一个字母一个字母地分解,这样我们就可以得到每一个盘符了。

loop %DriverListArray0%
{
RegRead, UnlockerPath, HKEY_LOCAL_MACHINE, SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Unlocker, DisplayIcon
; 读取注册表,获得 Unlocker.exe 所在路径。

target = % DriverListArray%A_Index% . “: ”
; 从后面开始解释:
; . “: “,连接一个字符串“ : ”
; %A_Index% ,表示当前循环到第几次
; % DriverListArray%A_Index% ,表示第 N 个移动磁盘

runwait %UnlockerPath% %target% /s
; 等待 Unlocker 的退出。这里就是解锁每一个移动磁盘了。 /s 参数用来让 Unlocker 在后台运行。
run %A_ScriptDir%\unplug.exe %target%
; %A_ScriptDir% ,代表当前脚本所在的文件夹。利用 unplug.exe 弹出 U 盘。

}
TrayTip,, 所有移动设备全部弹出! ,3000
; 弹出气泡提示, 3 秒后气泡消失。 TrayTip 的完整语法是: TrayTip [, 标题 , 文字 , 时间 , Options]

sleep 3000

怎样制造无法停止 ‘通用卷’ 设备呢?很简单,用 Winrar 之类的软件打开 U 盘里的压缩包就行了。

另外,如果你觉得系统托盘一排的 H ,或者一排的图标太碍眼了,在那些脚本的开头加上:

#NoTrayIcon

就可以隐藏其托盘图标。

# sfufoet :我弄了个 AutoHotKeyGoogle Group,有兴趣的不妨加进来。最后,感谢我们煎蛋阿企的测试。

AHK 系列
| 上回 | 来自 appinn.com | 下回预告: AHK 快餐店 [18] 之 关掉天网防火墙的开机提示

26 Comments:

  1. 1. 阿企 # 2007/11/17 21:31

    我测试过的,很小很强大

    回复

  2. 2. LEMONed # 2007/11/17 21:31

    O_o 操,留言要中文

    回复

  3. 3. sfufoet # 2007/11/17 21:33

    说明楼上很久没过来小众留言了。BS!

    回复

  4. 4. scavin # 2007/11/17 21:35

    柠檬同学是说外语的,麻烦你老说中文了。。。

    回复

  5. 5. sfufoet # 2007/11/17 21:37

    忘记给 阿企 记上一笔了。补上补上。

    回复

  6. 6. LEMONed # 2007/11/17 21:53

    不行,还不是我想要的效果。。

    回复

  7. 7. sfufoet # 2007/11/17 22:01

    晕倒,要什么效果自己改。

    回复

  8. 8. 漫步 # 2007/11/17 22:53

    unlocker 和 hoekey 是我电脑的必备软件。。

    回复

  9. 9. diego # 2007/11/18 02:06

    还行,呵呵,欢迎大家来5D壁纸论坛做客,http://5dwall.cn
    最新最酷最全的壁纸正在进行中….

    回复

  10. 10. Paveo # 2007/11/18 12:04

    ???? ?? ??? ?????? ??????? ??????? ???????? ?????? ????????? ??????? ???? ?????? ?????? ?????

    阿拉伯文也不行。。。

    回复

  11. 11. sunbeam # 2007/11/18 13:08

    不错。谢谢小众软件能够提供这么多有用的软件。

    回复

  12. 12. 稻草 # 2007/11/18 16:39

    旁边feedsky那个调查很赞。吕胖子很用心啊。哈哈

    回复

  13. 13. 小车轱辘 # 2007/11/19 06:55

    支持一下Google Group

    回复

  14. 14. 咖啡小冰 # 2007/11/19 23:00

    @sfufoet:用了,确实很好用(带Unlocker的那个),不过不知道怎么编译成独立文件来用。

    测试不带unlocker的那个脚本,好像就是贴在这的这个.AHK,读取注册表获得unlocker的路径出错。

    error:
    ……
    —> 014: RunWait,%UnlockerPath% %target% /s
    ……

    回复

  15. 15. 咖啡小冰 # 2007/11/19 23:26

    @sfufoet:啊,不好意思,是我的错,忘记了自己的Unlocker是绿色版的,注册表没有unlocker的“DisplayIcon”键值。添加上去就行了。

    BTW:日志上所有的斜杠(反斜杠)都被过滤掉了。

    回复

  16. 16. sfufoet # 2007/11/20 08:07

    多谢 咖啡小冰 的提醒。可恶的 wp 插件

    回复

  17. 17. sfufoet # 2007/11/20 08:13

    @咖啡小冰 :这里教过http://www.appinn.com/ahk-fast-food-restaurant-11-desktop-switch/

    回复

  18. 18. dyseat # 2007/11/20 16:33

    我想把AHK做到一起
    也就是写到默认的AutoHotKey.ini 里
    应该怎么做

    回复

  19. 19. sfufoet # 2007/11/20 17:46

    @dyseat ,复制,粘贴你会吧?

    记得前面加上快捷键比如
    ^#u::
    用这句是 Ctrl + Win + U 来作为快捷键

    后面加上
    return

    回复

    yimin # 2008/07/27 20:49

    sfufoet大虾,我按您说的办法加到AutoHotKey.ini里,不过这样的话那段托盘提示语好像不会自动消失,求解,谢谢!

    回复

    sfufoet # 2008/07/27 20:55

    托盘提示语?把你的 AutoHotKey.ini 发给我看看。我的邮箱是我的 id @gmail.com

    明白吧?

    回复

  20. 20. helfee # 2007/11/22 17:32

    想问下这个
    IfEqual,a,1,msgbox a
    IfEqual,a,1,a++
    第一个就没问题,第二个就不行,这是为啥啊
    是不是后面只能跟内置的函数啊,运算和自定的函数都不行吗?

    回复

  21. 21. sfufoet # 2007/11/22 18:00

    很可能是。

    回复

  22. 22. 天天找软件的人 # 2008/02/22 20:33

    AHK 快餐店[17] 之 秒杀 U 盘
    这个下载连接不可用 我非常想用这个软件 就是小众写的

    能不能发送到我电子邮件里 或是更新一下这个软件的下载链接。

    回复

    scavin # 2008/02/22 21:58

    下载链接是可用地。。。

    回复

  23. 23. 天天找软件的人 # 2008/02/23 15:20

    谢谢啊 是我的网络问题 不好意思!o(∩_∩)o…哈哈

    回复

  24. 24. moneylcj # 2008/10/09 11:12

    楼主,下载不了了。我在网上也没找到Unplug,能更新一下附件链接或是发一份给我吗?谢谢。

    回复

    sfufoet # 2008/10/09 11:30

    已经发送。文章中的下载链接已经更新。

    回复

    moneylcj # 2008/10/09 15:30

    文件已收到,感谢楼主的热心帮助。

    回复

  25. 25. Shoegazer # 2009/07/26 11:41

    在windows 7下不能用了,谁能修改一下?

    回复

    sfufoet # 2009/07/26 14:32

    @Shoegazer, 收到。我看看能不能解。

    回复

    Shoegazer # 2009/07/26 21:59

    @sfufoet, 谢了,这个东西放dock里点一下很方便……办公室经常要用到U盘。

    Shoegazer # 2009/08/05 16:40

    @sfufoet, 请问有解么?

    sfufoet # 2009/08/06 19:09

    @Shoegazer, 无解。unplug.exe 不支持 win7.抱歉,最近很忙

    回复

  26. 26. fly2never # 2010/03/31 14:06

    快速删除u盘的脚本,不需要任何外部程序
    ;———————快速删除U盘———————————–
    ;功能:安全删除最后添加的可移动存储设备
    #ScrollLock::
    Run,%A_WinDir%\system32\control.exe hotplug.dll ; 调用安全删除硬件窗口
    WinWait 安全删除硬件
    ControlGet, IfStopEnabled, Enabled, ,Button2 ;检查停止按钮是否能按下
    If IfStopEnabled { ; 如果能按下,才进行停止设备的操作,否则直接关闭窗口并退出脚本
    ControlSend, SysTreeView321, {End} ;定位到最后添加的设备
    ControlSend,Button2,s ;按下停止按钮
    WinWait 停用硬件设备
    ControlSend,Button1,{Enter} ;按下确定
    }
    WinClose 安全删除硬件
    return
    ;———————快速删除U盘———————————–

    回复

    天成 # 2012/01/04 21:07

    @fly2never, 哭~ win7无效~ 无法弹出~

    回复

输入昵称与邮箱就可以评论

称呼*

邮箱*

网址