Visual c++ 在MFC中访问网络驱动器

Visual c++ 在MFC中访问网络驱动器,visual-c++,windows-7,mfc,Visual C++,Windows 7,Mfc,我在我的系统上创建了一个网络驱动器,并将其映射到Z:驱动器号 为了解释这个问题,我在MFC中创建了一个简单的程序,用于在Windows7机器上访问MS access 2007数据库 里面 CString MyCRecordSet::GetDefaultConnect()函数我已将其用作连接字符串 ODBC;DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)};DSN='';DBQ=Z:\TestFolder\Database1.mdb 如果我正常运行应用程序,一切正

我在我的系统上创建了一个网络驱动器,并将其映射到Z:驱动器号

为了解释这个问题,我在MFC中创建了一个简单的程序,用于在Windows7机器上访问MS access 2007数据库

里面
CString MyCRecordSet::GetDefaultConnect()
函数我已将其用作连接字符串

ODBC;DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)};DSN='';DBQ=Z:\TestFolder\Database1.mdb
如果我正常运行应用程序,一切正常。 但是当以“以管理员身份运行”的身份运行应用程序时,我得到了以下错误

如果我尝试使用

_访问(“Z:\TestFolder\Database1.mdb”,模式)

api,则对于任何模式00、02、04或06,此api始终返回-1


我认为这与windows中访问网络驱动器的安全性有关,但没有确切了解问题所在以及如何处理此类情况。

如果您将Z驱动器映射为非管理员,则在以管理员身份运行时将看不到它

尝试打开一个提升的cmd窗口(即以管理员身份运行cmd),将您的Z驱动器映射到该窗口,然后再次尝试运行您的应用程序

编辑

要从命令行共享驱动器,请执行以下操作:

net use [driveletter]: \\server\share /user:[username] password 

首先感谢您的回复。没有使用管理员权限映射该驱动器的任何其他替代方案。我认为管理员拥有最高权限(如果我错了,请纠正我)。目前我没有可以访问它的机器。当然我明天会试试。我还没有找到其他选择,这对我在Win7和Win8上也是一个痛苦-如果你在一个用户级别映射一个驱动器,你在其他用户级别看不到它。也许唯一可以尝试的另一件事是禁用UAC——但这确实违背了目的:-(您可以使用命令行共享创建网络驱动器的命令吗。