kxing 发表于 2012-3-19 22:24:51

求助如何获取当前目录

请问下怎么样获取到当前所在的目录呢?
比如我进入了d:\abc,怎样能获取到这个路径呢
ps:程序运行在不同路径下,并非取程序工作目录。。。
麻烦高手回答,多谢!!!!

kxing 发表于 2012-3-19 22:50:11

目前只能获取地址栏的字符串,但是总觉得这样不可靠。

afan 发表于 2012-3-19 23:39:29

地址栏不可靠是肯定的。
我有过类似的提问,想做个修改版的 FileOpenDialog ,以满足可以选择文件夹。 最终没人理,只有 xms77 帮我顶了下…

kxing 发表于 2012-3-19 23:51:17

afan大都无解,看来也渺茫啦!!!

user3000 发表于 2012-3-19 23:52:29

地址栏不可靠是肯定的。
我有过类似的提问,想做个修改版的 FileOpenDialog ,以满足可以选择文件夹。 最终 ...
afan 发表于 2012-3-19 23:39 http://www.autoitx.com/images/common/back.gif


    现在帮您顶下? 呵!

afan 发表于 2012-3-19 23:58:14

回复 5# user3000


    呵呵,谢谢~ 不过,因为挂了一个多星期无人问津=无意义的问题,删了。
不过,我肯定可以研究出来,只是目前没空搞。

lixiaolong 发表于 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
                If $aWindows[$i] = 'CabinetWClass' Then
                        $text = StringRegExpReplace(WinGetText($aWindows[$i]), '\n.+', '')
                EndIf
        Next
        Return $text
EndFunc   ;==>_Main

user3000 发表于 2012-3-20 00:15:05

7楼代码可以获取到资源管理器打开的目录的绝对路径....
经几次试验,
如果同时打开多个文件夹, 总是返回倒数第2位打开的那个路径!

user3000 发表于 2012-3-20 00:21:36

用 WinList 也可以获取到打开的目录..Local $x = WinList()
For $i = 1 To $x
        If StringRegExp($x[$i], ':\\\w+') Then
                If FileGetAttrib($x[$i]) = 'd' Then MsgBox(0, 0, $x[$i])
                EndIf
Next

afan 发表于 2012-3-20 00:38:06

小龙的仍是获取地址栏,在地址栏随便编辑下就无意义了,其它诸如“桌面”等就不多说了
后宫3000 的需要“标题栏显示地址”,一般是不走寻常道的佳丽会有这爱好…

flyflykao 发表于 2012-3-20 00:54:08

$textDir=@WorkingDir

kxing 发表于 2012-3-20 09:48:41

嘿嘿,期待高手解决!!!

lixiaolong 发表于 2012-3-20 10:28:46

本帖最后由 lixiaolong 于 2012-3-20 10:30 编辑

回复 10# afan

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

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

Func ex()
        Exit
EndFunc   ;==>ex

lixiaolong 发表于 2012-3-20 10:36:59

回复 10# afan

[在地址栏随便编辑下就无意义了],刚明白afan版主说的意思了...是无意义...

kxing 发表于 2012-3-20 10:59:59

对的,所以说这样不可靠。
按道理来说autoit应该提供个宏的。
页: [1] 2
查看完整版本: 求助如何获取当前目录