首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用C++程序的VirtualStore?

如何禁用C++程序的VirtualStore?
EN

Stack Overflow用户
提问于 2011-01-19 07:01:29
回答 3查看 5.5K关注 0票数 7

我希望我的程序在尝试在受保护的位置创建文件时抛出一个错误,比如C:\驱动器的根目录(例如:FILE* FileHandle = fopen("\\file.txt", a))。而是在%APPDATA%下的虚拟存储中创建该文件。

如何禁用虚拟存储?

谢谢

编辑:为了清楚起见,我不是在问如何绕过安全保护并在受保护的位置创建我的文件。我希望文件创建失败,这样我就可以告诉用户他是个笨蛋。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-01-19 07:11:45

您可以添加一个应用程序清单。选择asInvoker、highestAvailable或requireAdministrator。听起来你想要asInvoker。

来自http://msdn.microsoft.com/en-us/library/bb756929.aspx

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
  <assemblyIdentity version="1.0.0.0"
     processorArchitecture="X86"
     name="IsUserAdmin"
     type="win32"/> 
  <description>Description of your application</description> 
  <!-- Identify the application security requirements. -->
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="asInvoker"
          uiAccess="false"/>
        </requestedPrivileges>
       </security>
  </trustInfo>
</assembly>
票数 17
EN

Stack Overflow用户

发布于 2011-01-20 05:07:34

来自MSDN

虚拟化仅针对以下对象启用:

  • 32位交互式processes
  • Administrator可写文件/文件夹和注册表项

以下项目禁用虚拟化:

具有requestedExecutionLevel impersonate

  • Kernel模式callers

  • Executables的64位requestedExecutionLevel

正如Adam Maras所指出的,您最好的选择是通过添加清单来在应用程序上设置requestedExecutionLevel。"asInvoker“的requestedExecutionLevel将导致受保护位置上的文件操作失败,而不是重定向到虚拟存储或提示提升。

票数 6
EN

Stack Overflow用户

发布于 2013-12-30 07:14:29

这里有一篇文章,展示了如何关闭虚拟化。

http://www.interworks.com/blogs/dsmith/2011/09/21/disabling-windows-7-virtual-store

它的简短之处在于:

-From Windows7启动Orb,搜索并选择本地安全策略。

-Expand本地策略,然后单击安全选项。在右窗格中,一直滚动到底部,您将找到一个名为“User Account Control:虚拟化文件和注册表写入每个用户位置的失败”的设置,双击该设置并将其更改为Disabled。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4730053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档