WritePrivateProfileString的问题啊 -----------------------

ketao_78 2002-10-11 12:02:07
大家有遇到WritePrivateProfileString在98下文件没有产生的情况么

而且不管文件产生了没有,返回值老是1
为什么
...全文
147 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eden 2002-10-20
  • 打赏
  • 举报
回复
又捡着了。
ketao_78 2002-10-16
  • 打赏
  • 举报
回复
其实是我自己没有看清文档,因为是在cathe 中没有释放
GetWindowPos 2002-10-16
  • 打赏
  • 举报
回复
我也研究过这个问题,不过不用弄这么复杂呀
先在模块写一个过程,得出INI里面的数据,如果返回空字符串那就代表没产生过INI,我做过的,不到10行就行做出来了,真的!
ketao_78 2002-10-15
  • 打赏
  • 举报
回复
大家快来啊,给分--------------
griefforyou 2002-10-12
  • 打赏
  • 举报
回复
捡分
water_j 2002-10-12
  • 打赏
  • 举报
回复
hehe
ketao_78 2002-10-12
  • 打赏
  • 举报
回复
问题已经解决了,哎,白费了,干脆散分得了,来的给分阿 ---------------------------------
ketao_78 2002-10-12
  • 打赏
  • 举报
回复
的确是有时候没有产生,有时候可以产生
在WIN2K下没有问题
ketao_78 2002-10-12
  • 打赏
  • 举报
回复
是不是WIN98参数设置不正确,就是有时候这样调用有时候不成功,文件没有产生
zyl910 2002-10-11
  • 打赏
  • 举报
回复
是你没调用好!
我这里一直用Win98,没问题



Option Explicit
Private Declare Function WritePrivateProfileString _
Lib "kernel32" Alias "WritePrivateProfileStringA" _
(ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpString As Any, _
ByVal lpFileName As String) As Long
Public Declare Function GetPrivateProfileString _
Lib "kernel32" Alias "GetPrivateProfileStringA" _
(ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) As Long


'FileName:Ini文件
'PathName:小节名
'KeyName:值名
'WriteValue:值
Public Function WriteIni(FileName As String, _
PathName As String, _
KeyName As String, _
WriteValue As String) As Long
Dim Rc As Long

Rc = WritePrivateProfileString(PathName, KeyName, WriteValue, FileName)

WriteIni = Rc

End Function

'FileName:Ini文件
'PathName:小节名
'KeyName:值名
'BackValue:返回值
'Default:默认字符
Public Function ReadIni(FileName As String, _
PathName As String, _
KeyName As String, _
BackValue As String, _
Optional Default As String = "缺省") As Long
Dim Rc As Long
Dim TempNum As String
Dim TempStr As String

TempStr = String$(255, Chr$(0))
TempNum = 255

Rc = GetPrivateProfileString(PathName, KeyName, Default, TempStr, TempNum, FileName)

If Rc <> 0 Then
BackValue = Left$(TempStr, TempNum)

End If

ReadIni = Rc

End Function
FoxShell 2012 免费版更新说明 2011.08.02 Beta2(Build 0802) FoxShell2012_Beta2.Exe 文件大小:1.86 MB (1,953,792 字节) CRC32:79EB97B3 MD5:FE77C4C48786E6BD9940F3E0EE5BD185 SHA1:B5C07293F7E0FEBBCA1A00B819E1CE94BB07037C 修正的BUG: 1、修正VB通过API调用保存对话框与LZMA压缩冲突的BUG,出现压缩数据失败(已换一种模式重写LZMA的SDK,有效解决了这个问题); 2、修正WIN7下加密成功但不能生成文件的BUG; 3、修正用项目文件打开文件加密丢失图标的BUG; 4、修正打开项目后,读写文件深度不一致的BUG; 5、修正开启新变量解释后,对某些语句和命令出现“非字符表达式”的BUG; 6、修正和增加新P-CODE解释开关命令:经测试不能被新P-CODE解释方式接受的代码,可以自己在代码中加入: = "" && 开始忽略(关闭)新代码解释方式,不分大小写 = "" && 结束忽略(启用)新代码解释方式,不分大小写 例如: FUNCTION WriteIniFile LPARAMETERS lcfilename, lcsection, lcsection_key, lcwrite_string = "" DECLARE INTEGER WritePrivateProfileString IN Win32API AS WriteINI STRING, STRING, STRING, STRING && 假设这一句使用新代码解释后出错,则在前后加跳过这句的开关 = "" IF TYPE("m.lcFileName")="C" .AND. TYPE("m.lcSection")="C" .AND. TYPE("m.lcSection_key")="C" .AND. TYPE("m.lcWrite_String")="C" IF EMPTY(m.lcfilename) .OR. EMPTY(m.lcsection) .OR. EMPTY(m.lcsection_key) RETURN "" ELSE IF .NOT. EMPTY(JUSTPATH(m.lcfilename)) .AND. .NOT. DIRECTORY(JUSTPATH(m.lcfilename)) MD (JUSTPATH(m.lcfilename)) ENDIF ENDIF = WriteINI(m.lcsection, m.lcsection_key, m.lcwrite_string, m.lcfilename) ENDIF CLEAR DLLS "WritePrivateProfileString" ENDFUNC ★★★ 由于本软件使用了编译技术,在加密过程中,为加密成功,请暂时关闭您的杀毒软件。 --------------------------------------------------------------------- 2011.07.30 - Beta1 正式发布Beta1!

7,765

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧