正文

ini文件的读写及小字名和关键字的删除技巧2008-04-30 14:17:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/wyhem2003/34694.html

分享到:

一.ini文件的读写 Option ExplicitPrivate Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPrivate Declare Function GetPrivateProfileString Lib "Kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, lpKeyName As Any, ByVal lpDefault As String, ByVal lpRetunedString As String, ByVal nSize As Long, ByVal lpFileName As String) As LongPrivate Declare Function WritePrivateProfileString Lib "Kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lplFileName As String) As Long Private r As LongPrivate entry As String Function GetFromINI(AppName As String, KeyName As String, FileName As String) As String   Dim RetStr As String   RetStr = String(255, Chr(0))   GetFromINI = Left(RetStr, GetPrivateProfileString(AppName, ByVal KeyName, "", RetStr, Len(RetStr), FileName))End Function Private Sub Command1_Click()    Text1.Text = GetFromINI("注册信息", "序列号", "c:\boot.ini")End Sub Private Sub Command8_Click()    EndEnd Sub Private Sub Command2_Click()    Text2.Text = GetFromINI("用户信息", "姓名", c:\boot.ini")End SubPrivate Sub Command4_Click()    entry$ = Text1.Text    r = WritePrivateProfileString("注册信息", "序列号", entry, c:\boot.ini")    If r <> 1 Then MsgBox "写序列号出错!"End Sub Private Sub Command5_Click()    entry = Text2.Text    r = WritePrivateProfileString("用户信息", "姓名", entry, c:\boot.ini")    If r <> 1 Then MsgBox "写姓名出错!"End Sub 二、删除ini文件中的小字名或关键字 1.如何删除ini文件中指定区段和指定项:          [abc1]               a=123               b=456                             [abc2]   |               a=111   |删除此三行               b=222   |                             [abc3]               a=888               b=999           其实WritePrivateProfileSection函数就可以完成这个工作。这函数的第二个参数如果为空就可以删除掉所有键。               如果你这样调用该API:               Private   Declare   Function   WritePrivateProfileSection   Lib   "kernel32"   Alias   "WritePrivateProfileSectionA"   (ByVal   lpAppName   As   String,   ByVal   lpString   As   String,   ByVal   lpFileName   As   String)   As   Long                             Private   Sub   Command1_Click()                 WritePrivateProfileSection   "abc2",   "",   "my.INI"               End   Sub               则运行后,.ini文件中abc2下将没有任何值,但[abc2]仍然有。               而如果这样调用该函数(请注意声明不同)               Private   Declare   Function   WritePrivateProfileSection   Lib   "kernel32"   Alias   "WritePrivateProfileSectionA"   (ByVal   lpAppName   As   String,   ByVal   lpString   As   Any,   ByVal   lpFileName   As   String)   As   Long                             Private   Sub   Command1_Click()                 WritePrivateProfileSection   "PanelSetup",   0&,   "myCADX2.INI"               End   Sub               则运行后,.ini文件中连abc2也没有了。 2.如何删除ini文件里某一键?声明:Declare   Function   WritePrivateProfileString&   Lib   "kernel32"   Alias   "WritePrivateProfileStringA"   (ByVal   lpApplicationName   As   String,   ByVal   lpKeyName   As   Any,   ByVal   lpString   As   String,   ByVal   lpFileName   As   String)   说明:      lpApplicationName=小节名     lpKeyName=vbNullString   删除lpApplicationName   小节所有项     lpString=vbNullString   删除lpKeyName项所有串     lpFileName   =初始化文件的名字   实例:Private   Sub   Command4_Click()     Print   WritePrivateProfileString("BOOT",   "Shell",   vbNullString,   "tmp1.ini")     '删除Shell     Print   WritePrivateProfileString("BOOT",   vbNullString,   vbNullString,   "tmp1.ini")     '删除BOOT     End   Sub

阅读(3289) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册