尝试从android设备的设置中加载保存的目录时遇到问题-shell.namespace(variant)总是以“ nothing”的形式返回,迫使用户每次浏览该文件夹。
我认为文件夹无法识别,因为android的文件夹路径保存得很奇怪-有效的文件夹路径是:
::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\\?\usb#vid_0e8d&pid_2008#1283857#{6ac27878-a6fa-4155-ba85-f98f491d4f33}\SID-{10001,,12184616960}\{0000020B-0001-0001-0000-000000000000}
我有一个过程,提示用户浏览其android设备上的文件夹,该文件夹可以正常工作。然后,我保存文件夹的设置路径。再次单击该按钮时,我将从设置中加载文件夹的路径并尝试将其分配回去,但是当我尝试使用该文件夹时,它始终被识别为“无”,从而迫使用户每次单击都浏览该文件夹。
适用于我的shell的代码: 昏暗的贝壳作为对象 设置oshell = CreateObject(“ shell.application”)
这是我用于浏览/设置文件夹的代码段。这没有问题。
dim oDeviceFolder as shell32.folder
dim deviceFolderPath as variant
Set odevicefolder = oshell.BrowseForFolder(Me.hwnd, "Please select the...
folder on your android device", 0, "")
if odevicefolder = nothing then
exit sub
else
devicefolderpath = odevicefolder.self.path
SaveSetting app.exename, "Defaults", "DeviceDir", deviceFolderPath
end if
这是我遇到的问题-下次单击该按钮时,我想从设置中拉出文件夹的路径并使用它,但这无非就是。
dim deviceFolderPath as variant
odevicefolder As Shell32.Folder
dim needBrowse as boolean
needBrowse = False
deviceFolderPath = GetSetting(app.exename, "Defaults", "DeviceDir")
if deviceFolderPath = "" then
needBrowse = True
else
set oDeviceFolder = oshell.NameSpace(deviceFolderPath)
If oDeviceFolder Is Nothing Then
needBrowse = True
End If
end if
if needBrowse = true then
Set odevicefolder = oshell.BrowseForFolder(Me.hwnd, "Please select
the...folder on your android device", 0, "")
end if
无论如何,即使deviceFolderPath等于android的长文件夹路径,“ oshell.NameSpace(deviceFolderPath)”始终不返回任何内容。当我浏览该文件夹时,它会返回完全相同的文件夹路径...有什么办法可以识别该路径吗?