VC中 GetPrivateProfileSectionNames用法 很纠结 惆怅
追问:哈哈 谢谢了 虽然没帮到 原来我走进死胡同了 但还是谢谢你
追问:哈哈 谢谢了 虽然没帮到 原来我走进死胡同了 但还是谢谢你
答案:GetPrivateProfileSectionNames() 得到的名字放在第一个参数指定的内存中,每个名字之
间用一个0字符隔开,最后一个名字用两个0字符作为结尾。这是Windows API函数处理多个名
字的通用方法。比如:
char buf[512];
GetPrivateProfileSectionNames(buf, sizeof(buf), IniFile);
for(char* Name=buf; *Name!= '\0 '; Name+=strlen(Name)+1)
ShowMessage(Name);
其他:'==================================================
'Ini操作声明
'==================================================
Dim Ret As Long
Dim Start As Long
Public FileName As String
Public MaxthonPath As String
Public TimeID As Integer
Const BufSize = 10240
Dim buf As String * BufSize
Private Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long
Private Declare Function GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
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 WritePrivateProfileSection Lib "kernel32" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, 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
'============================
'操作INI文件函数
'============================
Public Function SetValue(ByVal clsName As String, ByVal key As String, ByVal V As String) As Boolean
Ret = WritePrivateProfileString(clsName, key, V, FileName)
End Function
Public Function GetValue(ByVal clsName As String, ByVal key As String) As String
Ret = GetPrivateProfileString(clsName, key, "", buf, BufSize, FileName)
Start = 1
GetValue = RetStr()
End Function
Private Function RetStr() As String
Dim i As Long
i = InStr(Start, buf, Chr$(0))
If i > Start Then
RetStr = Mid$(buf, Start, i - Start)
End If
Start = i + 1
End Function
Sub Main()
FileName = IIf(Right$(App.path, 1) <> "\" And Right$(App.path, 1) <> "/", App.path & "\", App.path) & "config.ini" ' 这里的 config.ini改成你的文件名
Form1.Show '这里的Form1改成你要显示的窗体
End Sub
工程 > 工程1 属性 在通用标签 页中设置 启动对象 Sub Main
然后工程中就可以用
变量 = GetValue("number", "number")
用一个timer控件 配合上 GetValue函数 就可以了
上一个:如何找到vb.net学生信息管理系统原代码
下一个:从A(1.55555555,1.222222222),B(1.66666,1.88888)MFC中怎么画线???!