本人是菜鸟,问个傻瓜的问题,但是是高分奖赏
用vb怎样实现写入一个配置peizhi.ini文件,开始把文件放在c盘,里面的值为3,每次我程序启动的时候,就往peizhi.ini文件里面的3减1,当为0的时候,程序的使用次数就没有了,我不需要写注册表实现,就是想用配置文件实现,
提供的函数是
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
麻烦你们帮帮写一个函数实现这样的功能。。。。。。。谢谢!!!!!
[最优解释]
说实在的,你这样用 ini文件来进行限制,跟没有限制一样。
恐怕只对付得了超级菜的鸟。
既然你有这需要,那我不妨给你贴个简单的代码吧。
ini文件的内容如下:
[Settings]
Key=0
代码如下:
Option Explicit
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 iniFileName As String '配置文件的名称
Private Sub Form_Load()
Dim i&
' 设置文件路径
' 你自己处理成你的正确路径
iniFileName = App.Path & "\test.ini"
i = Val(GetINI("Settings", "Key"))
If (i > 0) Then
Call SetINI("Settings", "Key", CStr(i - 1))
Else
MsgBox "你的软件已经过期!", 48
Unload Me
End If
End Sub
' 获取INI的值
Private Function GetINI(SectionName As String, KeyWord As String) As String
Dim strBuffer As String
Dim lRlt As Long
strBuffer = Space$(260)
lRlt = GetPrivateProfileString(SectionName, KeyWord, "", strBuffer, 255, iniFileName)
If (lRlt > 0) Then
GetINI = Left$(strBuffer, lRlt)
Else
GetINI = ""
End If
End Function
' 写入INI的值,返回值如果是0表示操作失败
Private Function SetINI(SectionName As String, KeyWord As String, ValStr As String) As Long
SetINI = WritePrivateProfileString(SectionName, KeyWord, ValStr, iniFileName)
End Function