GetPrivateProfileString函数是干什么的??

ybsoft 2003-05-19 03:59:43
如题
...全文
472 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ybsoft 2003-05-19
  • 打赏
  • 举报
回复
顺便问一下InternetConnect, 问什么在 API 浏览器中看不到呢?
qingming81 2003-05-19
  • 打赏
  • 举报
回复
该函数还有一个对应的WritePrivateProfileString(这个是写,上一个是取)

【VB声明】
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

【别名】
WritePrivateProfileStringA

【说明】
在初始化文件指定小节内设置一个字串

【返回值】
Long,非零表示成功,零表示失败。会设置GetLastError

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

【参数表】
lpApplicationName - String,要在其中写入新字串的小节名称。这个字串不区分大小写

lpKeyName ------ Any,要设置的项名或条目名。这个字串不区分大小写。用vbNullString可删除这个小节的所有设置项

lpString ------- String,指定为这个项写入的字串值。用vbNullString表示删除这个项现有的字串

lpFileName ----- String,初始化文件的名字。如果没有指定完整路径名,则windows会在windows目录查找文件。如果文件没有找到,则函数会创建它



两个函数用法示例:
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
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
Private Sub Form_Load()
'KPD-Team 1999
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net
Dim Ret As String, NC As Long
'Write the setting to the file (c:\test.ini) under
' Project1 -> Keyname
WritePrivateProfileString App.Title, "KeyName", "This is the value", "c:\test.ini"
'Create a buffer
Ret = String(255, 0)
'Retrieve the string
NC = GetPrivateProfileString(App.Title, "KeyName", "Default", Ret, 255, "C:\test.ini")
'NC is the number of characters copied to the buffer
If NC <> 0 Then Ret = Left$(Ret, NC)
'Show our string
MsgBox Ret
'Delete the file
Kill "c:\test.ini"
End Sub
qingming81 2003-05-19
  • 打赏
  • 举报
回复
【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目录中查找文件
ybsoft 2003-05-19
  • 打赏
  • 举报
回复
GetPrivateProfileString("A","B","default",strget,256,path) 中的A,B是干什么用的
dreamtou 2003-05-19
  • 打赏
  • 举报
回复
如果C:\Test.ini
里面内容为:
[A]
B=C

dim path as string
dim strget as string *256
dim ret as long
path="c:\text.ini"
ret=GetPrivateProfileString("A","B","default",strget,256,path)
那么strget="C "总共有256位长度
如果没有C:\test.ini或没有[A]B=c这些内容,那么ret=0或strget="default "256位
ikey 2003-05-19
  • 打赏
  • 举报
回复
也就是说读INI文件的.
ikey 2003-05-19
  • 打赏
  • 举报
回复
为初始化文件中指定的条目取得字串

7,763

社区成员

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

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