当前位置:编程学习 > VC++ >>

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中怎么画线???!

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,