找回密码
 加入
搜索
楼主: drunk

请问怎么获取AU3编译的文件的关联文件目录及文件名

  [复制链接]
 楼主| 发表于 2009-11-29 00:50:31 | 显示全部楼层
是的。
浏览器有点问题,花了我140金才下下来。
。。另外那位版主大哥能给个源代码吗
发表于 2009-11-29 00:55:35 | 显示全部楼层
是这个意思那还不好办,直接把你的代码修改下就行了。
你要关联的后缀名是“.try”吧?
 楼主| 发表于 2009-11-29 01:01:40 | 显示全部楼层
怎么修改啊
我关联drunk
我是想在".drunk"文件上用执行文件打开时,执行文件获取表示关联文件的文件名的宏变量
发表于 2009-11-29 01:04:39 | 显示全部楼层
那就是关联 .drunk 文件的右键菜单?
 楼主| 发表于 2009-11-29 01:06:27 | 显示全部楼层
你刚才给我的这个工具能显示关联的文件的路径啊,我就是要获取这个路径
发表于 2009-11-29 01:10:27 | 显示全部楼层
源码在这,你自己改吧
If $CmdLine[0] > 0 Then
        If $CmdLine[1] = '/del' Then
                RegDelete('HKLM\SOFTWARE\Classes\*\shell\test_1')
                RegDelete('HKLM\SOFTWARE\Classes\*\shell\test_1d')
                MsgBox(0, '删除菜单', '删除菜单完成 ')
        Else
                $wjlj = FileGetLongName($CmdLine[1])
                $str = StringRegExpReplace($wjlj, '(.+)\\[^\\]+', '\1')
                MsgBox(0, 0, '文件夹路径:' & @CRLF & $str & @CRLF & '文件路径:' & @CRLF & $wjlj)
        EndIf
Else
        RegWrite('HKLM\SOFTWARE\Classes\*\shell\test_1', '', 'REG_SZ', '返回文件路径测试')
        RegWrite('HKLM\SOFTWARE\Classes\*\shell\test_1\Command', '', 'REG_SZ', @ScriptFullPath & ' %1')
        RegWrite('HKLM\SOFTWARE\Classes\*\shell\test_1d', '', 'REG_SZ', '删除测试菜单')
        RegWrite('HKLM\SOFTWARE\Classes\*\shell\test_1d\Command', '', 'REG_SZ', @ScriptFullPath & ' /del')
        MsgBox(0, '写注册表', '已添加“返回文件路径测试”及“删除测试菜单”的右键菜单 ' & @CRLF & '可在任何文件上点击右键测试 ')
EndIf

评分

参与人数 1金钱 +19 收起 理由
drunk + 19 谢谢

查看全部评分

 楼主| 发表于 2009-11-29 01:18:59 | 显示全部楼层
不会吧.....居然是$CmdLine[1].........
我真的无语了,我看了几次那个CMDLINE的,居然没看清楚....以为那个只能表示执行文件的文件名
我还搜了一天....
不过还是太感谢你了,今晚终于可以安心睡了
夜深了,版主大哥也早点睡,晚安....
发表于 2009-11-29 01:20:41 | 显示全部楼层
呵呵,终于可以不挨冻了~
发表于 2009-12-4 09:38:34 | 显示全部楼层
来学习,谢谢老大AFAN!
发表于 2009-12-6 00:06:32 | 显示全部楼层
参考一下这个吧(声明: 此代码出自本论坛 PcBar 大侠之手, 本人略作修改使其可以右键打开所选文件所在目录):
        RegWrite('Hkcr\*\Shell\OpenTagDir','','Reg_Sz','&K. 打开所在目录')
        RegWrite('Hkcr\*\Shell\OpenTagDir\Command','','Reg_Sz',@ScriptFullPath&' "%1" ')
        _OpenTagDir()
Func _OpenTagDir()
If $CmdLineRaw <> '' Then
        $TagDir = StringMid(StringLeft($CmdLineRaw,StringInStr($CmdLineRaw,'\',2,-1) -1),2,-1)
        If $TagDir <> '' Then
                ShellExecute('Explorer',' /E, '&$TagDir,'','',@Sw_ShowMaxiMized)
        Else
                Exit
        EndIf
EndIf
EndFunc

#Cs
$Ask=MsgBox(36+262144,'右键显示文件路径','提示,请问是否添加右键菜单?点【是】将添加,点【否】将删除!',2)
If $Ask=6 Or $Ask = -1 Then
Else
        RegDelete('Hkcr\*\Shell\OpenTagDir')
        RegDelete('Hkcr\LnkFile\Shell\Open Folder')
EndIf
        ;刷新系统:
        DllCall('Shell32.Dll', 'none', 'SHChangeNotify', 'int', 0x08000000, 'int', 0x00000000 + 0x00001000, 'ptr', 0, 'ptr', 0)
#Ce
发表于 2009-12-6 00:17:15 | 显示全部楼层
搞了半天我自己没看清, 但帖子已经发出, 想删掉, 却不知如何删. 今后我一定要先看完整个话题后再出手了, 抱歉!
发表于 2010-5-29 12:13:18 | 显示全部楼层
请教一下,关于有包含另一个au3文件如何编译到一起成为exe文件呀???
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-6 12:34 , Processed in 0.075756 second(s), 16 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表