我正在Windows 7上执行.exe文件(由VB6创建)。应用程序将要做的就是简单地创建一个文本文件,然后读取一个文本文件的文本。所有功能已在Windows XP上成功测试。当我在Win 7上执行.exe文件时,功能照常运行,但我创建的文件在特定路径(C:\ test.txt)上不存在。最奇怪的是,尽管无法在文件资源管理器中找到文本文件,我仍然可以从文本文件中读取内容(通过.exe文件)。
然后我发现我必须选择[以管理员身份运行]来执行.exe文件,以便在C:驱动器上创建文件(test.txt)。我很好奇.exe文件即使不存在仍如何仍可以读取文本文件,以及如何强制.exe文件以管理员身份运行?
这里是读写文件的代码。
Open "C:\" & "test.txt" For Output As #1
Print #1, cDrive.Text
Close #1
Open "C:\" & "test.txt" For Input As #1
Input #1, msg
Close #1
cDrive.Text = msg
Exit Sub
祝你好运
驱动器C受Win7保护,您仍然可以对其进行写入,但实际上不应该。
如果您想以管理员身份运行该应用程序:
现在,每次您运行该应用程序时,它将以管理员身份运行
回答第三句话:Windows Vista和Windows 7用户访问控制(UAC)引入了一项称为VirtualStore的功能,该功能旨在为安装在Program Files文件夹下的应用程序添加额外的安全保护层。如果您在硬盘上搜索文件,则可能会在/ User / AppData / Local / VirtualStore中找到该文件的第二个实例这就是为什么它仍然能够读取text.txt的原因,尽管在您提到的位置不存在。