首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb在win7下写文件失败解决方案

2012-04-26 
vb在win7下写文件失败VB的程序,我的电脑里也是Win7系统,编译后,运行正常,在一个XP计算机里也运行正常但在

vb在win7下写文件失败
VB的程序,我的电脑里也是Win7系统,编译后,运行正常,在一个XP计算机里也运行正常

但在一台同样是Win7系统的计算机上运行后,在写文本文件时报错,提示未找到路径
“Open "c:\ErrorFault.txt" For Append Shared As #nFile” 执行这句话时报错

[解决办法]
关闭WIN7的UAC
[解决办法]
权限设置问题。
[解决办法]
我在一个Win7 64位系统下,遇到过类似问题,当时是VB6运行在vware虚拟机中的XP下,经跟踪分析,发现是因为ANSI String文件名不能被正确识别的问题。
其实2000以后,系统就开始全面支持Unicode了,而VB6比较老,为兼容95,一直是强制将本身的Unicode转成ANSI,这对于win2000以上的系统,实际上是极低效的做法,VB把Unicode转成ANSI,系统需把这ANSI再次转成Unicode才能使用,碰到上面情况还会出错。
我不知这是不是系统BUG,反正,后来,我放弃了所有VB的文件操作语句,改用API,注意:API声明要改,所有最后一个字母带“A"的函数名,都要改成“W",如:
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileW" (ByVal lpFileName As Long, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
文件名参数,传递时,要用Byval Strptr(Filename)的方式。
[解决办法]
换成filesystemobject的方法试试看
[解决办法]
试试,Open "c:\ErrorFault.txt" For binary As #

如果还是提示错误,再从系统方面考虑问题

热点排行