feixiangdao 发表于 2010-7-7 19:49:47

[已解决]如何打开一个文件夹后获得该文件夹句柄

本帖最后由 feixiangdao 于 2010-7-8 15:43 编辑

用autoit打开一个文件夹,能否知道它的句柄,并且能进一步获取到该文件夹的路径,并不是一开始打开的路径,而是变化后的。

afan 发表于 2010-7-7 22:56:30

$Dir = @WindowsDir ;定义要打开的文件夹
RunWait('explorer ' & $Dir)
$a = _GetCWHandle(@WindowsDir)
MsgBox(0, '获取到的句柄:' & $a, '请在打开的文件夹中进行打开子文件夹或返回上级目录的操作,之后再点击确定')
MsgBox(0, '当前打开的文件夹:', ControlGetText($a, '', 'Edit1'))

Func _GetCWHandle($Dir)
        Local $all, $i, $CWHandle
        While 1
                Sleep(1)
                $all = WinList('')
                For $i = 1 To $all
                        If ControlGetText($all[$i], '', 'Edit1') = $Dir Then
                                $CWHandle = $all[$i]
                                ExitLoop 2
                        EndIf
                Next
        WEnd
        Return $CWHandle
EndFunc   ;==>_GetCWHandle

feixiangdao 发表于 2010-7-8 15:41:33

太酷了,超级版主的回复,还真的可以实现。
页: [1]
查看完整版本: [已解决]如何打开一个文件夹后获得该文件夹句柄