找回密码
 加入
搜索
查看: 9872|回复: 26

[系统综合] 求助如何获取当前目录

 火... [复制链接]
发表于 2012-3-19 22:24:51 | 显示全部楼层 |阅读模式
请问下怎么样获取到当前所在的目录呢?
比如我进入了d:\abc,怎样能获取到这个路径呢
ps:程序运行在不同路径下,并非取程序工作目录。。。
麻烦高手回答,多谢!!!!
 楼主| 发表于 2012-3-19 22:50:11 | 显示全部楼层
目前只能获取地址栏的字符串,但是总觉得这样不可靠。
发表于 2012-3-19 23:39:29 | 显示全部楼层
地址栏不可靠是肯定的。
我有过类似的提问,想做个修改版的 FileOpenDialog ,以满足可以选择文件夹。 最终没人理,只有 xms77 帮我顶了下…
 楼主| 发表于 2012-3-19 23:51:17 | 显示全部楼层
afan大都无解,看来也渺茫啦!!!
发表于 2012-3-19 23:52:29 | 显示全部楼层
地址栏不可靠是肯定的。
我有过类似的提问,想做个修改版的 FileOpenDialog ,以满足可以选择文件夹。 最终 ...
afan 发表于 2012-3-19 23:39



    现在帮您顶下? 呵!
发表于 2012-3-19 23:58:14 | 显示全部楼层
回复 5# user3000


    呵呵,谢谢~ 不过,因为挂了一个多星期无人问津=无意义的问题,删了。
不过,我肯定可以研究出来,只是目前没空搞。
发表于 2012-3-20 00:06:44 | 显示全部楼层
回复 1# kxing

试试这个
#include <WinAPI.au3>

MsgBox(0, 0, _GetRmCurrentOpenedAddress())

Func _GetRmCurrentOpenedAddress()
        Local $aWindows, $i, $text
        $aWindows = _WinAPI_EnumWindows()
        For $i = 1 To $aWindows[0][0]
                If $aWindows[$i][1] = 'CabinetWClass' Then
                        $text = StringRegExpReplace(WinGetText($aWindows[$i][0]), '\n.+', '')
                EndIf
        Next
        Return $text
EndFunc   ;==>_Main

发表于 2012-3-20 00:15:05 | 显示全部楼层
7楼代码可以获取到资源管理器打开的目录的绝对路径....
经几次试验,
如果同时打开多个文件夹, 总是返回倒数第2位打开的那个路径!
发表于 2012-3-20 00:21:36 | 显示全部楼层
用 WinList 也可以获取到打开的目录..
Local $x = WinList()
For $i = 1 To $x[0][0]
        If StringRegExp($x[$i][0], '[a-zA-Z]:\\\w+') Then
                If FileGetAttrib($x[$i][0]) = 'd' Then MsgBox(0, 0, $x[$i][0])
                EndIf
Next
发表于 2012-3-20 00:38:06 | 显示全部楼层
小龙的仍是获取地址栏,在地址栏随便编辑下就无意义了,其它诸如“桌面”等就不多说了
后宫3000 的需要“标题栏显示地址”,一般是不走寻常道的佳丽会有这爱好…
发表于 2012-3-20 00:54:08 | 显示全部楼层
$textDir=@WorkingDir
 楼主| 发表于 2012-3-20 09:48:41 | 显示全部楼层
嘿嘿,期待高手解决!!!
发表于 2012-3-20 10:28:46 | 显示全部楼层
本帖最后由 lixiaolong 于 2012-3-20 10:30 编辑

回复 10# afan

我不知道楼主是什么时候获取,什么情况下获取,目的是什么,要是获取顶层的路径WinGetText就可以获取的.
这个在地址栏随便编辑也可以获取,还是我没听懂楼主的意思??...
HotKeySet("{ESC}", "ex")

While 1
        If WinExists('[CLASS:CabinetWClass]') Then
                ToolTip(StringRegExpReplace(WinGetText('[CLASS:CabinetWClass]'), '^\W*:\s|\n.+', ''))
        Else
                ToolTip('')
        EndIf
        Sleep(100)
WEnd

Func ex()
        Exit
EndFunc   ;==>ex
发表于 2012-3-20 10:36:59 | 显示全部楼层
回复 10# afan

[在地址栏随便编辑下就无意义了],刚明白afan版主说的意思了...是无意义...
 楼主| 发表于 2012-3-20 10:59:59 | 显示全部楼层
对的,所以说这样不可靠。
按道理来说autoit应该提供个宏的。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-14 12:52 , Processed in 0.222384 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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