VB 操作INI文件方法(经典详细教程)
VB如何操作INI文件方法详解

VB如何操作INI文件方法详解在程序中经常要用到设置或者其他少量数据的存盘,以便程序在下一次执行的时候可以使用,比如说保存本次程序执行时窗口的位置、大小、一些用户设置的数据等等,在Dos 下编程的时候,我们一般自己产生一个文件,由自己把这些数据写到文件中,然后在下一次执行的时候再读出来使用。
在Win32 编程中当然你也可以这样干,但Windows 已经为我们提供了两种方便的办法,那就是使用注册表或者ini 文件(Profile)来保存少量数据。
本文中先介绍一下 .ini 文件的使用。
ini 文件是文本文件,中间的数据格式一般为:[Section1 Name]KeyName1=value1KeyName2=value2...[Section2 Name]KeyName1=value1KeyName2=value2ini 文件可以分为几个 Section,每个 Section 的名称用 [] 括起来,在一个 Section 中,可以有很多的 Key,每一个 Key 可以有一个值并占用一行,格式是 Key=value,Win32 对 ini 文件操作的 api 中,有一部分是对 win.ini 操作的,有一部分是对用户自定义的 ini 文件操作的。
Win.in 和 system.ini 是Windows的两个非常重要的初始化文件,Windows将用户所作的选择以及各种变化的系统信息记录在这两个文件中。
System.ini 描述了系统硬件的当前状态,Win.ini 文件则包含了Windows 系统运行环境的当前配置。
由于 Win.ini 文件的重要性和常用性,Win32 中有专门对 Win.ini 进行操作的 api,它们是:GetProfileInt - 从 Win.ini 文件的某个 Section 取得一个 key 的整数值,它的原形是:GetProfileInt(LPCTSTR lpAppName, // 指向包含 Section 名称的字符串地址LPCTSTR lpKeyName, // 指向包含 Key 名称的字符串地址INT nDefault // 如果 Key 值没有找到,则返回缺省的值是多少);如果 Key 值没有找到的话,返回值是 nDefault 指定的缺省值,如果 Key 中的值是负数,则返回 0,如果 Key 指定的是数字和字符串的混合,则返回数字部分的值,比如说 x=1234abcd,则返回 1234GetProfileString - 从 Win.ini 文件的某个 Section 取得一个 key 的字符串,它的原形是:GetProfileString(LPCTSTR lpAppName, // 指向包含 Section 名称的字符串地址LPCTSTR lpKeyName, // 指向包含 Key 名称的字符串地址LPCTSTR lpDefault, // 如果 Key 值没有找到,则返回缺省的字符串的地址LPTSTR lpReturnedString, // 返回字符串的缓冲区地址DWORD nSize // 缓冲区的长度);返回的字符串在缓冲区内,返回的eax 值是返回的字符串的长度(不包括尾部的0)GetProfileSection - 从 Win.ini 文件中读出整个 Section 的内容,它的原形是:GetProfileSection(LPCTSTR lpAppName, // 指向包含 Section 名称的字符串地址LPTSTR lpReturnedString, // 返回数据的缓冲区地址DWORD nSize // 返回数据的缓冲区长度);WriteProfileSection - 将一个整个 Section 的值写入 Win.ini 文件的指定 Section 中,它的原形是:WriteProfileSection(LPCTSTR lpAppName, // 指向包含 Section 名称的字符串地址LPCTSTR lpString // 要写入的数据的地址);如果 Win.ini 没有指定的 Section,API 会新建立一个并写入数据,如果已经存在,则先删除原来 Seciton 中所有的 Key 值然后写入新的。
VB读写INI文件

VB读写INI文件今天,我们将应用制作一个能够实现读写INI文件的应用程序。
程序运行结果如图所示。
运行结果技术要点●INI文件的格式●GetPrivateProfileInt()和GetPrivateProfileString()函数●WritePrivateProfileString()函数实现步骤■新建项目打开Visual ,选择“新建项目”,在项目类型窗口中选择“Visual Basic项目”,在模板窗口中,选择“Windows应用程序”,在名称域中输入“RWIni”,然后选择保存路径。
单击“确认”。
■添加控件和菜单向当前窗体上添加两个Button控件,用于控制读写INI文件;一个Group控件和两个RadioButton控件,用于控制读写整型数据还是字符串型;三个Label控件和三个TextBox 控件,用于标注和输入节名、键名和值;其余两个Label控件,一个表示当前打开的文件名,另一个表示读写的状态。
最后添加一个MainMenu控件,生成菜单“文件”、“退出”,其中“文件”下有一个子菜单“打开INI文件”。
■设置属性切换到“属性栏”,对窗体上的控件设置属性。
详细情况见下表。
窗体各控件的属性值知识点:一个INI文件由若干节(Section)组成,每个节中又由若干个关键字(Keyword)和值组成。
关键字是用来保存独立的程序设置和那些重要信息的,用于控制应用程序的某个功能;值可以是整型数或字符串。
如果值为空,则表示应用程序已经为该关键字指定了缺省值。
INI文件的一般形式如下:…………[Section]keyword=value…………INI文件有严格的格式要求:(1)节名必须加“[”和“]”。
(2)对文件做注释,要以“;”开头。
(3)关键字后必须有“=”。
■添加代码keywordinfo = txtkeyword.TextValueinfo = txtvalue.Text' 检查输入是否合法,不合法时,提示警告信息。
在VB中INI文件的读写

3,参数解释:
例如INI文件中有这么一块:
[main]
FontColor=801085
其中:
main .....................是KeyName
801085 ...............是String
1,模块:
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 Long
Function GetINI(AppName As String, KeyName As String, filename As String) As String
Dim RetStr As String
RetStr = String(10000, Chr(0))
GetINI = Left(RetStr, GetPrivateProfileString(AppName, ByVal KeyName, "", RetStr, Len(RetStr), filename))
End Function
2,调用:
读:Rtn=GetINI(appname, keyname, filename)
写:SaveINI appname,keyname,string,filename
用VB配置和调用INI文件

A 函数 是应 用程 序 编 程 接 口,是 操 作 系 统 自带 的 功 能 强 大 的 函 数 集 .在 这 里 需 要 的 AP PI I函数 是 :
P bi ca eF n t n W rtPr ae rflS rn b “ en l2” A1 s“ rtPr a e o i S r g u l De lr u ci ie i tP o i tig Li k r e3 c o v e i W i i tPrf e ti A” ( Va a e v l n By l
AsS r g t n ,By l p ti g AsAn 一 i Va S r y, l n
读 取 指 定 关 键 字 内容 的 函 数
Fu cinRe d y ( n t a Ke Tmp~Fi tig,Te o l AsSrn e m—Ke yAs Sr g ti )AsSrn n tig
改及 应 用 程 序 的调 用 方 式 , 为 应 用 程 序 特 别 是 网络 程 序 的运 行 初 始 化 ,提 供 一 定 的 编 辑 参 考 .
关 键 词 :A I函数 ; 配 置 ;调 用 ;I 配 置文 件 P NI 中 图 分 类 号 :T 3 1 P 1 文 献标 识码 :A 文 章 编 号 :1 0 0 8—5 8 (0 8 0 ~0 2 —0 6 82 0 )1 0 4 1
2 应用 程序 实例
下面介 绍一 个用 VB编 写 的应 用程 序 实 例 ,主要 控 件 有 :T x 1 e t 、Te t 、Te t 、Te t ;四个 命 令 按 x2 x3 x4 钮 ;一个 w iS c n ok名 为 C i t( l n 可用 于设 置 网络 的连接 ) e ;一个 C mmo Di o o n a g控件 ( 于设 置 通用对 话 框 l 用
VB 操作INI文件方法(经典详细教程)

1.定义一些变量Public IniFileName As String, vbNullString As String, maxSize As Long, section1 As String, section2 As String2.初始话这些变量Public Function initial()IniFileName = App.Path & "" & "config.ini"vbNullString = ""maxSize = 255section1 = "basics"section2 = "others"temp_str = String(255, 0) '建立缓冲区End Function3.声明INI函数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 LongPublic 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 LongPublic Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" ( _ByVal lpApplicationName As String, _ByVal lpKeyName As Any, _ByVal lpString As Any, _ByVal lpFileName As String) As Long4.调用函数dim source as stringGetPrivateProfileString section1, "source", vbNullString, temp_str, maxSize, IniFileNamesource = Mid(temp_str, 0, 5) '缓冲区长度249,直接去匹配是不可以的,需要首先提取出有效字符xpos.Text = GetPrivateProfileInt(section1, "xpos", 1, IniFileName)dim a as intergera = GetPrivateProfileInt(section1, "auto", 1, IniFileName) WritePrivateProfileString section1, "auto", "0", IniFileName下一个例子Option ExplicitPrivate 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 LongPrivate Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" ( _ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, _ByVal lpFileName As String) As LongPrivate Function GetIni(ByVal ApplicationName As String, ByVal KeyName As String, ByVal FileName As String) As StringDim Buff As String, TmpStr As StringBuff = String(1024, 0)Call GetPrivateProfileString(ApplicationName, KeyName, "", Buff, Len(Buff) + 1, FileName)If Asc(Mid(Buff, 1, 1)) = 0 Then GetIni = "": Exit FunctionDim I As IntegerFor I = 2 To Len(Buff)If Asc(Mid(Buff, I, 1)) = 0 Then TmpStr = Mid(Buff, 1, I - 1)NextIf TmpStr = "" Then TmpStr = BuffGetIni = TmpStrEnd FunctionPrivate Function PutIni(ByVal ApplicationName As String, ByVal KeyName As String, ByVal Str As String, ByVal FileName As String) As Long WritePrivateProfileString ApplicationName, KeyName, Str, FileNameEnd FunctionPrivate Function DelIni(ByVal ApplicationName As String, ByVal KeyName As String, ByVal FileName As String) As LongWritePrivateProfileString ApplicationName, KeyName, 0&, FileNameEnd FunctionPrivate Sub Form_Load()Shell (GetIni("lujing", "pa", "INI文件的路径及名称.ini") & "\" & GetIni("lujing", "pa1", "INI文件的路径及名称.ini"))End Sub再次讲解这是API函数,使用前必须在公共部分定义,可以建公共模块,也可以在窗体最上面写.代码:Public 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 LongPublic Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVallpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long然后GetPrivateProfileString WritePrivateProfileString 这两个函数就可以用了.读取和写入代码如下Private Sub SetIniS(ByVal SectionName As String, ByVal KeyWord As String, ByVal ValStr As String)Dim res%res% = WritePrivateProfileString(SectionName, KeyWord, ValStr, "C:\123.ini") End SubPrivate Function GetIniS(ByVal SectionName As String, ByVal KeyWord As String, ByVal DefString As String) As StringDim llLen As LongDim ResultString As StringResultString = Space(100)llLen = GetPrivateProfileString(SectionName, KeyWord, DefString, ResultString, 100, "C:\123.ini")GetIniS = Mid(ResultString, 1, llLen)End Function。
vba 给ini文件写入注释的方法

vba 给ini文件写入注释的方法注释是程序中非常重要的元素之一,注释能够让代码更加可读、易于维护和理解。
和其他编程语言一样,VBA也支持在代码中添加注释。
但是对于INI文件,它并不是一个编程语言,它是一种文本文件格式,因此,我们需要采用不同的方法来给INI文件添加注释。
INI文件格式介绍INI文件是一种文本文件格式,通常用于存储应用程序的配置信息。
INI文件格式定义了一种简单的键值对格式,其中每一行表示一个键值对,并用等号“=”将键和值分开。
例如:```[key1]value1=123在上面的例子中,我们定义了两个键值对,每个键值对都有一个键和一个值。
键和值之间用等号分开。
键使用方括号括起来,一个方括号代表一个键。
在INI文件中添加注释INI文件并没有一个标准的注释符号或格式,但是我们可以采用一些约定俗成的方式来添加注释。
1.使用分号在INI文件中,分号“;”通常被用来表示注释。
当我们在INI文件中添加注释时,可以在开头添加一个分号,然后添加注释内容。
例如:在以上例子中,我们给第一个键值对的值添加了一个注释。
我们也可以给整个键值对添加一个注释,只需要在键值对之前添加分号注释即可。
在一些应用程序中,#号也被用来表示注释,因此我们在INI文件中也可以使用#号来添加注释。
例如:3.使用空白行;这是注释;这是空白行,也是注释[key2]value2=abc```在上面的例子中,我们使用了两个空白行来表示注释。
总结在INI文件中添加注释的方法有很多种,包括使用分号、#号和空白行等方式,其中使用分号为最常用的方法。
当我们在编写INI文件时,应该尽可能使用这些方法来增加注释,以便于他人能够更好地理解代码。
VB开发应用程序如何使用INI文件

用VB开发应用程序如何使用INI文件为了方便用户使用和使系统具有灵活性,大多数Win-dows应用程序将用户所做的选择以及各种变化的系统信息记录在初始化(INI)文件中。
因此,当系统的环境发生变化时,可以直接修改INI文件,而无需修改程序。
由此可见,INI文件对系统功能是至关重要的。
本文将介绍采用VisualBasicforWindows(下称VB)开发Windows应用程序时如何读写INI文件。
INI文件是文本文件,由若干部分(section)组成,在每个带括号的标题下面,是若干个以单个单词开头的关键词(keyword)和一个等号,每个关键词会控制应用程序某个功能的工作方式,等号右边的值(value)指定关键词的操作方式。
其一般形式如下:[Section1]KeyWord1=ValuelKeyWord2=Value2……[Section2]KeyWord1=Value1KeyWord2=Value2……其中,如果等号右边无任何内容(即Value为空),那就表示Windows应用程序已为该关键词指定了缺省值,如果在整个文件中找不到某个关键词(或整个一部分),那同样表示为它们指定了缺省值。
各个部分所出现的顺序是无关紧要的,在每一个部分里,各个关键词的顺序同样也无关紧要。
读写INI文件通常有两种方式:一是在Windows中用“记事本”(Notepad)对其进行编辑,比较简单,无需赘述;二是由Windows应用程序读写INI文件,通常是应用程序运行时读取INI文件中的信息,退出应用程序时保存用户对运行环境的某些修改。
关键词的值的类型多为字符串或整数型,应分两种情况读写。
为了使程序具有可维护性和可移植性,最好把对INI文件的读写封装在一个模块(RWINI.BAS)中,在RWI-NI.BAS中构造GetIniS和GetIniN函数以及SetIniS和Se-tIniN过程,在这些函数和过程中需要使用WindowsAPI的“GetPrivateprofileString”、“GetPrivateProfileInt”和“WritePrivateProfileString”函数。
VB6中一个非常好用的读写INI文件的模块

VB6中一个非常好用的读写INI文件的模块网上读写Ini文件的例子只有几篇相同的文章,而并不好用,奇怪的是各网站都是同样的例程,高手也就罢了,三下五除二就搞定,初学者会被搞得一头雾水,看着一个好好的模块就是不能用。
所以我整理了一下(最早是在腾讯答一个贴子时写的),这个也就是修改了一下,不是我自已的发明(至于这个代码起先不知是谁写的),不过非常的好用新建模块(建议不使用注册表)命名为rwini'ini文件在有回车换行符会出错,经过测试,汉字要小于86字节,英言文要小于143字节才能返回列表框。
(这是我以前的code,是记录列表框内容的)Option ExplicitPublic iniFileName As StringPublic Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As LongPublic 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 Public 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字符串值(Function)******************************************Function GetIniS(ByVal SectionName As String, ByVal KeyWord As String, ByVal DefString As String) As StringDim ResultString As String * 144, Temp As IntegerDim s As String, i As IntegerTemp% = GetPrivateProfileString(SectionName, KeyWord, "", ResultString, 144, AppProFileName(iniFileName))'检索关键词的值If Temp% > 0 Then '关键词的值不为空s = ""For i = 1 To 144If Asc(Mid$(ResultString, i, 1)) = 0 ThenExit ForElses = s & Mid$(ResultString, i, 1)End IfNextElseTemp% = WritePrivateProfileString(SectionName, KeyWord, DefString, AppProFileName(iniFileName))'将缺省值写入INI文件s = DefStringEnd IfGetIniS = sEnd Function'**************************************获取Ini数值(Function)*************************************************** Function GetIniN(ByVal SectionName As String, ByVal KeyWord As String, ByVal DefValue As Long) As IntegerDim d As Long, s As Stringd = DefValueGetIniN = GetPrivateProfileInt(SectionName, KeyWord, DefValue, AppProFileName(iniFileName))If d <> DefValue Thens = "" & dd = WritePrivateProfileString(SectionName, KeyWord, s, AppProFileName(iniFileName))End IfEnd Function'***************************************写入字符串值(Sub)**************************************************Sub SetIniS(ByVal SectionName As String, ByVal KeyWord As String, ByVal ValStr As String)Dim res%res% = WritePrivateProfileString(SectionName, KeyWord, ValStr, AppProFileName(iniFileName))End Sub'****************************************写入数值(Sub)****************************************************** Sub SetIniN(ByVal SectionName As String, ByVal KeyWord As String, ByVal ValInt As Long)Dim res%, s$s$ = Str$(ValInt)res% = WritePrivateProfileString(SectionName, KeyWord, s$, AppProFileName(iniFileName))End Sub''这是我自已不知道怎样清除一个键(keyword) 时写的一个清除字符串值的过程,是有write函数写入一个空的值实现的,'Sub DelIniS(ByVal SectionName As String, ByVal KeyWord As String) 'Dim retval As Integer'retval = WritePrivateProfileString(SectionName, KeyWord, "", AppProFileName(iniFileName))'End Sub'其实0&表示前面的一个被清除,我多写了一个“”,如果是清除section 就少写一个Key多一个“”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.定义一些变量Public IniFileName As String, vbNullString As String, maxSize As Long, section1 As String, section2 As String2.初始话这些变量Public Function initial()IniFileName = App.Path & "" & "config.ini"vbNullString = ""maxSize = 255section1 = "basics"section2 = "others"temp_str = String(255, 0) '建立缓冲区End Function3.声明INI函数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 LongPublic 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 LongPublic Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" ( _ByVal lpApplicationName As String, _ByVal lpKeyName As Any, _ByVal lpString As Any, _ByVal lpFileName As String) As Long4.调用函数dim source as stringGetPrivateProfileString section1, "source", vbNullString, temp_str, maxSize, IniFileNamesource = Mid(temp_str, 0, 5) '缓冲区长度249,直接去匹配是不可以的,需要首先提取出有效字符xpos.Text = GetPrivateProfileInt(section1, "xpos", 1, IniFileName)dim a as intergera = GetPrivateProfileInt(section1, "auto", 1, IniFileName) WritePrivateProfileString section1, "auto", "0", IniFileName下一个例子Option ExplicitPrivate 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 LongPrivate Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" ( _ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, _ByVal lpFileName As String) As LongPrivate Function GetIni(ByVal ApplicationName As String, ByVal KeyName As String, ByVal FileName As String) As StringDim Buff As String, TmpStr As StringBuff = String(1024, 0)Call GetPrivateProfileString(ApplicationName, KeyName, "", Buff, Len(Buff) + 1, FileName)If Asc(Mid(Buff, 1, 1)) = 0 Then GetIni = "": Exit FunctionDim I As IntegerFor I = 2 To Len(Buff)If Asc(Mid(Buff, I, 1)) = 0 Then TmpStr = Mid(Buff, 1, I - 1)NextIf TmpStr = "" Then TmpStr = BuffGetIni = TmpStrEnd FunctionPrivate Function PutIni(ByVal ApplicationName As String, ByVal KeyName As String, ByVal Str As String, ByVal FileName As String) As Long WritePrivateProfileString ApplicationName, KeyName, Str, FileNameEnd FunctionPrivate Function DelIni(ByVal ApplicationName As String, ByVal KeyName As String, ByVal FileName As String) As LongWritePrivateProfileString ApplicationName, KeyName, 0&, FileNameEnd FunctionPrivate Sub Form_Load()Shell (GetIni("lujing", "pa", "INI文件的路径及名称.ini") & "\" & GetIni("lujing", "pa1", "INI文件的路径及名称.ini"))End Sub再次讲解这是API函数,使用前必须在公共部分定义,可以建公共模块,也可以在窗体最上面写.代码:Public 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 LongPublic Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVallpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long然后GetPrivateProfileString WritePrivateProfileString 这两个函数就可以用了.读取和写入代码如下Private Sub SetIniS(ByVal SectionName As String, ByVal KeyWord As String, ByVal ValStr As String)Dim res%res% = WritePrivateProfileString(SectionName, KeyWord, ValStr, "C:\123.ini") End SubPrivate Function GetIniS(ByVal SectionName As String, ByVal KeyWord As String, ByVal DefString As String) As StringDim llLen As LongDim ResultString As StringResultString = Space(100)llLen = GetPrivateProfileString(SectionName, KeyWord, DefString, ResultString, 100, "C:\123.ini")GetIniS = Mid(ResultString, 1, llLen)End Function。