1

我正在使用 Visual Studio 2010 在 Windows 7 上编写一个非托管 C++ 控制台应用程序。我遇到了一个问题,我的本地计算机或网络位置上的文件工作正常,但我的代码在映射驱动器上看不到任何内容。我可以将这个问题简单地传递给以下 2 行的程序:

const WCHAR * libPath = _T("L:\MyFiles\myfile.txt"); DWORD fa = GetFileAttributes(libPath);

其中 fa 返回 0xFFFFFFFF,L 是映射驱动器,L:\MyFiles\myfile.txt 是有效的文本文件。

如何访问映射的驱动器?

4

2 回答 2

1

一种可能性是您的应用程序在提升模式下运行(即Run as administrator选中)。此处更详细地讨论了该问题。

解决方案是使用net use挂载驱动器或将其合并到您的注册表中:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLinkedConnections"=dword:00000001

请注意,进行上述更改后需要重新启动。

于 2018-11-06T16:34:55.013 回答
0

这是 Visual Studio 的一个问题。“在不调试的情况下启动”与在 Windows 7 上从资源管理器运行不同。该程序从 Windows 资源管理器启动时运行良好。这是由于不同的 UAC 权限。

于 2011-01-26T19:32:11.930 回答