QFileInfo :: exists()用于共享驱动器文件路径

时间:2011-09-02 19:55:18

标签: qt qfile

来自QT新手的问题:当我提供带有共享驱动器文件路径的QFileInfo对象的exists()方法时,它总是返回false,即使我用另一个反斜杠转义每个反斜杠(即\\ 10.1)。 2.34.56 \ DIR1)。是的,该目录确实存在:)可能在这里有其他问题,例如缺乏相关目录的权限?提前感谢您在这个问题上可以解决的任何问题......

2 个答案:

答案 0 :(得分:1)

它似乎在XP(使用Qt 4.7.3)上正常工作,要么使用双倍反斜杠,要么使用单斜杠('// ip / share / filepath')。

尝试通过QFileDialog::getOpenFileName获取文件网址。由于它使用原生对话框,如果需要,它应该询问您的登录名/密码 如果QFileInfo可以发现文件存在,您可以尝试使用本机API(Windows Networking)连接或允许以编程方式访问网络共享。

答案 1 :(得分:0)

事实证明,我的问题与权限有关,而与转义反斜杠无关。

我继承的应用程序实际上有两个组件:i)为应用程序提供GUI界面的窗口和(ii)执行实际工作的Window服务。该窗口能够“看到”共享驱动器,因为它运行的Windows用户标识具有该驱动器的权限,而作为本地系统运行的Windows服务则不能。一旦我使用“服务”窗口将服务更改为在具有该驱动器权限的用户标识下运行,那么它就运行得很好。谢谢你的回复...

相关问题