WIN7中的某些文件,用VFP8开发的程序无法判断存在。
本帖最后由 CJHLPLFX 于 2014-01-20 18:02:49 编辑 我用VFP8开发的程序,想在WIN7上运行,其中有个功能是查找WIN7(64位)系统目录下的某个文件是否存在。
结果发现,那个文件确实存在,但程序就是提示没有此文件,同样的程序在XP下运行没有问题。
假如WIN7的系统目录是 C:\Windows\system32,这里面一定有desktop.ini与kernel32.dll这2个文件,
我用如下VFP代码判断这2个文件是否存在
IF FILE("c:\windows\system32\desktop.ini")
MESSAGEBOX("desktop.ini文件存在")
ELSE
MESSAGEBOX("desktop.ini文件不存在")
endif
IF FILE("c:\windows\system32\kernel32.dll")
MESSAGEBOX("kernel32.dll文件存在")
ELSE
MESSAGEBOX("kernel32.dll文件不存在")
endif
结果提示desktop.ini不存在,kernel32.dll存在
我也选了以兼容模式运行这个VFP程序,也选了以管理员身份运行。
如果我把那个desktop.ini文件放在其它地方,例如 D:\Test下,再判断是否存在,就能准确判断出是否存在。
我自己在c:\windows\system32下新建立一个文件,也无法判断它存在。
我怀疑是WIN7的安全问题,控制了一些程序不让访问系统目录下的某些文件。不知道如何解决。
[解决办法]
其实 64 位的 Win7 在运行 32 位程序时,真正的 SYSTEM 文件夹不是 System32,而是 SYSWOW64