7,762
社区成员
发帖
与我相关
我的任务
分享
Option Explicit
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 Sub Command1_Click()
Dim skiptobnet_Value As Long, ActivePlugin_Value As Long
skiptobnet_Value = GetPrivateProfileInt("LAUNCHING", "skiptobnet", -1, "E:\plu.ini")
Debug.Print "skiptobnet = " & skiptobnet_Value
ActivePlugin_Value = GetPrivateProfileInt("GENERAL", "ActivePlugin", -1, "E:\plu.ini")
Debug.Print "ActivePlugin = " & ActivePlugin_Value
End Sub
skiptobnet = 1
ActivePlugin = 1
Public 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
Dim skiptobnet_Value As Long, ActivePlugin_Value As Long
skiptobnet_Value = GetPrivateProfileInt("LAUNCHING", "skiptobnet", -1, "E:\plu.ini")
ActivePlugin_Value = GetPrivateProfileInt("GENERAL", "ActivePlugin", -1, "E:\plu.ini")
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "INIFile"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit
Dim Ret As Long
Dim Start As Long
Private FileName As String
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
Public Sub SetFileName(ArgFileName As String)
FileName = ArgFileName
End Sub
Public Sub SetValue(ByVal clsName As String, ByVal key As String, ByVal V As String)
Ret = WritePrivateProfileString(clsName, key, V, FileName)
End Sub
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
保存为inifile.cls
这是我自己写的ini读取写入类模块,可以直接引用到工程中去。
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
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
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
dim IniString As String * 255, I%
Dim x As Variant
dim tmpInt as intger
dim tmpStr as string
'读int类型ini,格式(段名,字段名,默认值,路径)
tmpIni = GetPrivateProfileInt("KeyUse", "skiptobnet ", 0, Path$)
'读string类型ini格式(段名,字段名,默认值,用于储存字段值的变量,字符长度,路径)
I = GetPrivateProfileString("KeyUse", "skiptobnet ", "*", IniString, 255, Path$)
'写ini格式(段名,字段名,需要写入的值,注意必须先转换为string,路径)
x = WritePrivateProfileString("KeyUse", "skiptobnet ", CStr(skiptobnet ), Path$)