我正在使用Visual Studio 2010在Windows 7上编写一个非托管C ++控制台应用程序。我遇到了一个问题,我本地计算机或网络位置上的文件工作正常,但我的代码在映射驱动器上看不到任何内容。我可以简单地将这个问题发布到以下两行的程序中:
const WCHAR * libPath = _T(“L:\ MyFiles \ myfile.txt”); DWORD fa = GetFileAttributes(libPath);
其中fa以0xFFFFFFFF的形式返回,L是映射的驱动器,L:\ MyFiles \ myfile.txt是有效的文本文件。
如何访问映射的驱动器?
答案 0 :(得分:0)
这是Visual Studio的问题。 “无需调试即可启动”与在Windows 7上从资源管理器运行不同。从Windows资源管理器启动程序运行良好。这是由于不同的UAC权利。
答案 1 :(得分:0)
一种可能性是您的应用程序正在提升模式下运行(即,选择了Run as administrator
)。问题here进行了更详细的讨论。
解决方案是使用net use
来安装驱动器或将其合并到您的注册表中:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLinkedConnections"=dword:00000001
请注意,进行上述更改后需要重新启动。