heroxianf 发表于 2018-3-1 12:38:56

如何实现鼠标停在某个文件上获取该文件的路径[已解决]

本帖最后由 heroxianf 于 2018-3-1 16:28 编辑

最近用到一个右键功能扩展,运行后右键菜单里会多两个选项 移动文件到/复制文件到 请问AU3如何实现这个功能呢?或者说鼠标指向文件的时候就获取到该文件的路径什么的,调用AU3做进一步的操作。

afan 发表于 2018-3-1 13:22:25

右键点击需要写注册表,可以参考下 http://www.autoit3.cn/thread-16944-1-1.html
之后调用程序后在 $CmdLine 数组中有文件路径

heroxianf 发表于 2018-3-1 16:02:03

回复 2# afan

A大,我修改一下直接就不能运行了,报错。



If Not @Compiled Then Exit MsgBox(48, '注意', '需先将本脚本编译成exe文件再运行 ')
If $CmdLine > 0 Then
      $info = FileGetShortcut($CmdLineRaw)
;~         Run('explorer /select, "' & $info & '"')
                MsgBox(0, 0, $info)
Else
      If RegRead('HKEY_CLASSES_ROOT\*\shell\test', '') = '♂显示目标路径(&F)' Then
                RegDelete('HKEY_CLASSES_ROOT\*\shell\test')
                If Not @Error Then MsgBox(64, '', '已删除“♂显示目标路径(&F)”右键菜单')
      Else
                RegWrite('HKEY_CLASSES_ROOT\*\shell\test', '', 'REG_SZ', '♂显示目标路径(&F)')
                RegWrite('HKEY_CLASSES_ROOT\*\shell\test\Command', '', 'REG_SZ', '"' & @ScriptFullPath & '" %1')
                If Not @Error Then MsgBox(64, '添加注册表', '已成功添加 “♂显示目标路径(&F)” 的右键菜单 ' & @CRLF & '可在任何快捷方式文件上点击右键测试 ')
      EndIf
EndIf

afan 发表于 2018-3-1 16:07:37

本帖最后由 afan 于 2018-3-1 16:09 编辑

回复 3# heroxianf


    $CmdLine

heroxianf 发表于 2018-3-1 16:27:22

回复 4# afan

A大这步完成了,我再折腾折腾。
If Not @Compiled Then Exit MsgBox(48, '注意', '需先将本脚本编译成exe文件再运行 ')
If $CmdLine > 0 Then
;~         $info = FileGetShortcut($CmdLineRaw)
;~         Run('explorer /select, "' & $info & '"')
                MsgBox(0, 0, $CmdLine)
Else
      If RegRead('HKEY_CLASSES_ROOT\*\shell\test', '') = '♂显示目标路径(&F)' Then
                RegDelete('HKEY_CLASSES_ROOT\*\shell\test')
                If Not @Error Then MsgBox(64, '', '已删除“♂显示目标路径(&F)”右键菜单')
      Else
                RegWrite('HKEY_CLASSES_ROOT\*\shell\test', '', 'REG_SZ', '♂显示目标路径(&F)')
                RegWrite('HKEY_CLASSES_ROOT\*\shell\test\Command', '', 'REG_SZ', '"' & @ScriptFullPath & '" %1')
                If Not @Error Then MsgBox(64, '添加注册表', '已成功添加 “♂显示目标路径(&F)” 的右键菜单 ' & @CRLF & '可在任何快捷方式文件上点击右键测试 ')
      EndIf
EndIf
页: [1]
查看完整版本: 如何实现鼠标停在某个文件上获取该文件的路径[已解决]