关于WritePrivateProfileString

tshow 2002-10-25 10:23:02
WritePrivateProfileString是读写INI 的函数,但是我怎么搞都只能写INI文件
不能读出其中的内容
另外,它是不是不返回什么东西啊?
那位详细讲讲
MSDN里讲了,不过我还是看的一塌糊涂,跟我想做的事情关系不大
我想利用INI记录用户访问程序的次数,但读不出上一次的记录
是不是这个函数本身不具有读这个功能??
...全文
553 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cngxylyh 2002-10-26
  • 打赏
  • 举报
回复
WritePrivateProfileString: 把字符串写入INI文件
GetPrivateProfileString :从INI文件中读取字符串
WritePrivateProfileINT :把数字写入INI文件
GetPrivateProfileINT :从INI文件中读取数字
tshow 2002-10-26
  • 打赏
  • 举报
回复
谢谢
俺怎么就没想到GET呢,呵呵,在READ里找了半天
给分了!
vbanswer 2002-10-25
  • 打赏
  • 举报
回复
读ini的函数是GetPrivateProfileString
【VB声明】
Private 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

【别名】
GetPrivateProfileStringA

【说明】
为初始化文件中指定的条目取得字串

【返回值】
Long,复制到lpReturnedString缓冲区的字节数量,其中不包括那些NULL中止字符。如lpReturnedString缓冲区不够大,不能容下全部信息,就返回nSize-1(若lpApplicationName或lpKeyName为NULL,则返回nSize-2)

【备注】
在vb的api文本查看器中复制的声明为: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

【参数表】
lpApplicationName - String,欲在其中查找条目的小节名称。这个字串不区分大小写。如设为vbNullString,就在lpReturnedString缓冲区内装载这个ini文件所有小节的列表

lpKeyName ------ String,欲获取的项名或条目名。这个字串不区分大小写。如设为vbNullString,就在lpReturnedString缓冲区内装载指定小节所有项的列表

lpDefault ------ String,指定的条目没有找到时返回的默认值。可设为空("")

lpReturnedString - String,指定一个字串缓冲区,长度至少为nSize

nSize ---------- Long,指定装载到lpReturnedString缓冲区的最大字符数量

lpFileName ----- String,初始化文件的名字。如没有指定一个完整路径名,windows就在Windows目录中查找文件

zyl910 2002-10-25
  • 打赏
  • 举报
回复
我写的ini模块:

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
zyl910 2002-10-25
  • 打赏
  • 举报
回复
Write是写啊!





GetPrivateProfileString

VB声明
Declare Function GetPrivateProfileString& Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String)
说明
为初始化文件中指定的条目取得字串
返回值
Long,复制到lpReturnedString缓冲区的字节数量,其中不包括那些NULL中止字符。如lpReturnedString缓冲区不够大,不能容下全部信息,就返回nSize-1(若lpApplicationName或lpKeyName为NULL,则返回nSize-2)
参数表
参数 类型及说明
lpApplicationName String,欲在其中查找条目的小节名称。这个字串不区分大小写。如设为vbNullString,就在lpReturnedString缓冲区内装载这个ini文件所有小节的列表
lpKeyName String,欲获取的项名或条目名。这个字串不区分大小写。如设为vbNullString,就在lpReturnedString缓冲区内装载指定小节所有项的列表
lpDefault String,指定的条目没有找到时返回的默认值。可设为空("")
lpReturnedString String,指定一个字串缓冲区,长度至少为nSize
nSize Long,指定装载到lpReturnedString缓冲区的最大字符数量
lpFileName String,初始化文件的名字。如没有指定一个完整路径名,windows就在Windows目录中查找文件
注解
如lpKeyName参数为vbNullString,那么lpReturnedString缓冲区会载入指定小节所有设置项的一个列表。每个项都用一个NULL字符分隔,最后一个项用两个NULL字符中止。也请参考GetPrivateProfileInt函数的注解

其他
在vb的api文本查看器中复制的声明为: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

1,486

社区成员

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

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