xp系统c 语言命令重定向,文件系统重定向程序

文件系统重定向程序

05/31/2018

本文内容

% Windir% \ System32 目录是为64位 Windows 上的64位应用程序保留的。 在创建了64位版本的 Dll 时,大多数 DLL 文件名称未发生更改,因此32位版本的 Dll 存储在不同的目录中。 WOW64 使用 文件系统重定向 程序隐藏了这一差异。

在大多数情况下,只要32位应用程序尝试访问% windir% \ System32、% windir% \ lastgood \ System32 或% windir% \regedit.exe,就会将该访问重定向到特定于体系结构的路径。

备注

提供这些路径只是为了参考。 为了实现兼容性,应用程序不应直接使用这些路径。 相反,它们应调用如下所述的 Api。

原始路径

32位 x86 进程的重定向路径

32位 ARM 进程的重定向路径

% windir% \ System32

% windir% \ SysWOW64

% windir% \ SysArm32

% windir% \ lastgood \ system32

% windir% \ lastgood \ SysWOW64

% windir% \ lastgood \ SysArm32

% windir% \regedit.exe

% windir% \ SysWOW64 \regedit.exe

% windir% \ SysArm32 \regedit.exe

如果访问导致系统显示 UAC 提示,则不会发生重定向。 而是会启动所请求文件的64位版本。 若要避免此问题,请指定 SysWOW64 目录以避免重定向,并确保对32位版本的文件进行访问,或使用管理员权限运行32位应用程序,因此不会显示 UAC 提示。

**Windows Server 2003 和 WINDOWS XP:  ** 不支持 UAC。

某些子目录已免于重定向。 无法将对这些子目录的访问重定向到% windir% \ SysWOW64:% windir% \ system32 \ catroot

% windir% \ system32 \ catroot2

% windir% \ system32 \ driverstore

% windir% \ system32 \ 驱动程序 \ 等

% windir% \ system32 \ 日志日志

% windir% \ system32 \ 假脱机

**Windows server 2008、Windows Vista、Windows Server 2003 和 WINDOWS XP:  **% windir% \ system32 \ driverstore 已重定向。

若要检索32位系统目录的名称,64位应用程序应使用 GetSystemWow64Directory2 函数 (Windows 10,版本 1511) 或 GetSystemWow64Directory 函数。

应用程序应使用 SHGetKnownFolderPath 函数来确定% ProgramFiles% directory 名称。

Windows Server 2003 和 WINDOWS XP: 应用程序应使用 SHGetSpecialFolderPath 函数来确定% ProgramFiles% directory 名称。

应用程序可使用 Wow64DisableWow64FsRedirection、 Wow64EnableWow64FsRedirection和 Wow64RevertWow64FsRedirection 函数控制 WOW64 文件系统重定向程序。 禁用文件系统重定向会影响由调用线程执行的所有文件操作,因此仅在需要时才应禁用单个 CreateFile 调用,并在函数返回后立即重新启用。 禁用文件系统重定向的时间较长可能会阻止32位应用程序加载系统 Dll,从而导致应用程序失败。

32位应用程序可以通过将% windir% \ Sysnative 替换为% windir% System32 来访问本机系统目录 \ 。 WOW64 将 Sysnative 识别为一个特殊别名,用于指示文件系统不应重定向访问。 此机制非常灵活且易于使用,因此,推荐使用该机制来绕过文件系统重定向。 请注意,64位应用程序不能使用 Sysnative 别名,因为它不是真正的虚拟目录。

Windows Server 2003 和 WINDOWS XP: Sysnative 别名是从 Windows Vista 开始添加的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
重定向系统各临时文件夹到另外盘符 首先要在“开始”——“运行”内输入“regedit”打开注册表编辑器,然后要在“文件”下拉菜单中的“导出”功能备份好注册表,以防万一,接着在左侧窗口依次打开: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders 在右侧窗口里,你看到的“名称”就代表那些特殊的文件夹,“数据”就是它们所对应的默认存储路径。修改默认的路径就可以让你的桌面文件夹移动了,下面是所有的. 下面介绍一下各个“名称”所代表的文件夹 名称 含义 默认路径 AppData 应用程序数据目录 C:\Documents and Settings\User name\Application Data Cookies Cookies路径 C:\Documents and Settings\User name\Cookies Desktop 桌面路径 C:\Documents and Settings\User name\桌面 Favorites 收藏夹 C:\Documents and Settings\User name\Favorites NetHood NetHood路径 C:\Documents and Settings\User name\NetHood Personal 我的文档 C:\Documents and Settings\User name\My Documents PrintHood 打印 C:\Documents and Settings\User name\PrintHood Recent 文档项路径 C:\Documents and Settings\User name\Recent SendTo SendTo路径 C:\Documents and Settings\User name\SendTo Start Menu 开始菜单路径 C:\Documents and Settings\User name\「开始」菜单 Templates 新建文件目录 C:\Documents and Settings\User name\Templates Programs 程序菜单路径 C:\Documents and Settings\User name\「开始」菜单\程序 Startup 启动路径 C:\Documents and Settings\User name\「开始」菜单\程序\启动 History 网页历史记录 C:\Documents and Settings\ User name \Local Settings\History My Pictures 图片收藏 C:\Documents and Settings\User name\My Documents\My Pictures My Music 我的音乐 C:\Documents and Settings\User name\My Documents\My Music My Video 我的视频 C:\Documents and Settings\User name\My Documents\My Videos Cache Internet临时文件夹 C:\ Documents and Settings\User name \Temporary Internet Files 这些文件夹称为Shell文件夹 其中“User name”为当前用户的名称 了解了对应的文件夹,就可以根据自己的需要去更改对应的路径了。(千万不要在这儿改啊,那样可就瞎忙乎了,系统重起后它会恢复成原来的路径) 在同一层中你可以看到一个“User Shell Folders”的子键,即在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ User Shell Folders 这里包括了用户定制的所有Shell文件夹的值项。只要通过修改“数据”,就可以改变它们的存储路径。双击需要修改的名称,在弹出的“编辑字符串”的“数值数据”里填上你要更改的完整路径,按下“确定”就完成了。如果没有你需要的,可以在右边窗口单击鼠标右键,选择“新建”菜单中的“字符串值”命令,对应上表,添加一个用于Shell文件夹的字符串值。 在上面的文件夹中,并没有outlook的通讯簿和邮件存放路径,它们分别在 通讯簿路径: HKEY_CURRENT_USER\Software\Microsoft\WAB\WAB4\Wab File Name主键下,将

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值