在用C++做一个文件遍历的时候发现,当我遍历C:\Windows\system32文件夹时,获取到的文件数目和实际总是对不上。在通过他人帮助后了解到了重定向这个概念,我百度了一下,下面为粘贴内容。

System32与SysWow64

在C:\Windows目录下,存在System32和SysWOW64两个文件夹,而让人迷惑的是:

System32文件夹下存放的是64位DLL

SysWOW64文件夹下存放的是32位DLL

按照文件夹表面意思,System32应该存放32位dll,SysWoW64应该存放64位dll,微软为何要做出如此别扭的存放呢?

这都是为了兼容32位Windows系统造成的。

因为之前的32位机很多代码都是读写文件到System32目录下,而现在出现了64位机,如果按照System32存放32位dll,SysWoW64存放64位dll的方式,势必要修改以前的32位代码中的System32为SysWoW64,为了避免需要修改,干脆就采用了System32存放64位dll,SysWow64存放32位dll的方式。

原文链接:https://blog.csdn.net/GG_SiMiDa/article/details/81328451

现在问题的根源已经找到了,当我的程序在访问system32时,系统将其重定向了,导致获取到的文件数与实际对不上。那么该怎么解决这一问题呢?

关闭重定向

在MSDN搜素了一下,发现了几个函数可以关闭/开启重定向(关闭后不开启,可能会导致其他未知问题)。

我用Wow64EnableWow64FsRedirection简单实验了一下,发现确实好用啊!

关于windows重定向暂时了解这些,之后会进行补充。代码地址为不要点这里啊喂 感兴趣的同学可以参考一哈。

最新文章

  1. Tomcat 9.0安装配置(转)
  2. LINUX 文件权限详解
  3. 使用DotNetOpenAuth搭建OAuth2.0授权框架
  4. 自定义ImageView
  5. ZigBee组网原理
  6. maven+tomcat6-maven-plugin实现热部署及调试
  7. 盘点 OSX 上最佳的 DevOps 工具
  8. inferred 和 freefrom
  9. Project Management - 3) Manage Your Meetings
  10. 【李婶小教程】(SE_lab3)
  11. 使用FastClick的同时造成元素上的trigger('click')无法触发的解决办法
  12. uploadify ,前端页面获取值,json,ajax
  13. 【Mysql 调用存储过程,输出参数的坑】
  14. J2SE知识点摘记(三)
  15. Java threadpool机制深入分析
  16. egret命令行编译项目时 版本不对应的问题
  17. Android自学绝佳资料
  18. Oracle内存管理(五)
  19. GameUnity 2.0 发布倒计时
  20. Jade是变体的HTML

热门文章

  1. 在VS工程中,添加c/c++工程中外部头文件(.h),lib库,dll库的基本步骤
  2. UWP - 介绍App Service 与新功能
  3. java8 lambda 表达式详解
  4. 线程间协作的两种方式:wait、notify、notifyAll和Condition
  5. Supervisor服务开机自启动
  6. myScript调研,电子手写板使用,纯干货
  7. 常用cron表达式
  8. php实现验证码(数字、字母、汉字)
  9. Swing常用容器
  10. JVM详解(一)——概述