VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 2362|回复: 7

关于用DIR查找文件的问题

[复制链接]
发表于 2015-5-31 18:24:50 | 显示全部楼层 |阅读模式
今天无意中想在系统目录中找个OCX文件,就用dir来查找,明明这个文件存在的,我都已经手动打开文件夹看到了,路途是:C:\Windows\System32\HookMenu.ocx     
但是用:dir("C:\Windows\System32\HookMenu.ocx")  返回的数据显示是找不到这个OCX文件,不知道是什么原因? C:\Windows\System32\HookMenu.ocx    这个绝对是没有错的,文件也一定存在,请高手帮下,谢谢。

点评

ocx是注册使用的  发表于 2015-6-1 08:36
 楼主| 发表于 2015-5-31 20:09:26 | 显示全部楼层
这个文件也看了,不是隐藏属性
回复 支持 反对

使用道具 举报

发表于 2015-5-31 21:33:21 | 显示全部楼层
你是不是64位OS啊,我记得64位OS中,32位程序访问的SYSTEM32会被重定向为SYSWOW64的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-1 14:39:36 | 显示全部楼层
bxc1995 发表于 2015-5-31 21:33
你是不是64位OS啊,我记得64位OS中,32位程序访问的SYSTEM32会被重定向为SYSWOW64的。

用的是64位的WIN7,你这么一说还真的有可能是这样的,我再去试试,感谢。
但是为什么同样的我在system32文件夹中自己创建个1.txt文件,用 dir("C:\Windows\System32\1.txt")这样就能找到。syswow64文件夹中肯定是没有这个1.txt文件的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-1 14:43:48 | 显示全部楼层
感谢JuncoJet 我知道OCX是要注册使用的,只是无意间想找这个HookMenu.ocx给别的电脑用的,就用DIR找了下,谁知道居然查不到,但是好多别的OCX文件也是在system32文件夹中的,用dir就能查到,不知道为什么
回复 支持 反对

使用道具 举报

发表于 2015-6-2 11:24:59 | 显示全部楼层
本帖最后由 Zhhy 于 2015-6-2 15:40 编辑

原因应该是你所用的VB的Dir进程为32位进程之故。

在64位系统中,如果用32位的进程去读system32目录,默认情形下会被系统强制转换读取syswow64目录,除非读之前关闭转换。

至于你新建的txt文件,原因可能是txt本身为非执行文件,或者也有可能是新建的本身就是64位的txt文件,究竟是什么原因,你在32位系统中建一个txt文件并将其拷贝到64位系统的system32目录,再用dir查找,能找到则原因为前者,找不到则为后者;

如何让32位进程读取64位system32目录,本人的[精评技经论坛[url]http://bbs.hgplus.net中有原代码。  
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-4 21:22:30 | 显示全部楼层
Zhhy 发表于 2015-6-2 11:24
原因应该是你所用的VB的Dir进程为32位进程之故。

在64位系统中,如果用32位的进程去读system32目录,默认 ...

精彩,谢谢。
回复 支持 反对

使用道具 举报

发表于 2015-7-6 06:58:37 来自手机 | 显示全部楼层
精彩,!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2022-7-1 22:49

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表