如果用户尝试将文件从我们的应用程序保存到受保护的文件夹(例如“程序文件”),我们希望限制将文件保存到 Vista/Windows 7 中的虚拟存储 - 如果用户尝试,我们希望显示“访问被拒绝”消息去做这个。有没有办法从我们的 Delphi 2009 应用程序中执行此操作,类似于 MS Word 等的操作?
非常感谢,
保罗
如果用户尝试将文件从我们的应用程序保存到受保护的文件夹(例如“程序文件”),我们希望限制将文件保存到 Vista/Windows 7 中的虚拟存储 - 如果用户尝试,我们希望显示“访问被拒绝”消息去做这个。有没有办法从我们的 Delphi 2009 应用程序中执行此操作,类似于 MS Word 等的操作?
非常感谢,
保罗
如果您使您的应用程序“支持 UAC”,Windows 将为您的应用程序禁用注册表和文件虚拟化。如果您的应用程序尝试写入受保护区域并且该进程没有提升的管理员权限,则操作系统将返回错误。
您可以通过添加请求请求的执行级别的清单来执行此操作。网上有很多文章描述了这个过程。这里有几个不错的:
使您的应用程序具有 UAC 意识 http://www.codeproject.com/KB/vista-security/MakingAppsUACAware.aspx
UAC 虚拟化 - 允许标准用户更新系统保护区 http://blogs.technet.com/b/mrsnrub/archive/2010/08/11/uac-virtualization-allowing-standard-users-to-update-a-系统保护区.aspx