• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Windows 初始化文件的修改

发布: 2007-7-14 20:28 | 作者: 佚名    | 来源: 网络转载     | 查看: 16次 | 进入软件测试论坛讨论

领测软件测试网 Windows应用程序的初始化文件(INI)对应用程序缺省设置起着重要的作用,初始化文件可以采用文本编辑器修改,但这种方法容易出现错误,不易由用户操作。下面介绍用VB实现修改初始化文件的方法。

1初始化文件的结构与特点
Windows应用程序初始化文件中通常设置应用程序的运行环境,确定应用程序变量的缺省设置,初始化文件既包含Windows本身的两个INI文件,也包括应用程序的初始化文件。如:win.ini、system.ini、ucdos.ini、vb.ini等。
其中,ucdos.ini、 vb.ini分别为希望公司的UCDOS和Visual Basic的初始化文件,这些初始化文件一般都是由应用程序和关键词构成,文件中内容的格式采用下面的通用格式:
[程序名称]
关键词=取值
例如,在system.ini中有一段内容设置非WINDOWS应用程序的字体,即:
〔Non WindowsApp〕
FontChangeEnable=1
其中,Non WindowsApp为应用程序名,FontChangeEnable为关键词,1为取值。

2与初始化有关的API函数
Windows95中的动态链接库Kernel.exe包含了六个函数,可以对INI文件进行操作,其中GetProfileInt、GetPrivateProfileInt、GetProfileString和GetPrivateString四个函数可以从INI文件中基于应用程序名和关键词的行获得信息。WritePrivateProfileString和WriteProfileString两个函数可以在INI文件中修改或创建文件中的有关行。

在VB应用程序中应按下面的方式在全局模块中进行声明。
Declare Function GetProfilelnt Lib ″Kernel″ (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal nDefault As Integer) As Integer

Declare Function GetProfileString Lib ″Kernel″(ByVal lpAppName As String, lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedsring As String, ByVal nSize As lnteger) As Integer

Declare Function WriteProfileString Lib ″Kernel″(ByVal lpApplicationName As String, lpKeyName As Any, lpString As Any) As lnteger

Declare Function GetPrivateProfilelnt Lib ″Kernel″ (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As lnteger, Byval lpFileName As String) As lnteger

Declare Function GetPrivateProfileString Lib ″Kernel″(ByVal lpApplicationName As String, lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As String, ByVal nSize As Integer, Byval lpFileName As String) As Integer

Declare Function WriteProfileString Lib ″Kernel″(ByVal lpApplicationName As String, lpKeyName As Any, lpString As Any) As lnteger

其中:lpApplicationName$为应用程序名称;
lpKeyName$为关键词;
nDefault%为关键词指定的缺省值;
lpFileName$为初始化文件名称;
lpDefault$为关键词指定的缺省字符串;
lpReturnString$为接受返回值指定字符的缓冲变量;
nSize%指定拷贝到缓冲变量的字符个数;
lpString$为新的关键词指定字符串。
上面的声明可以从VB目录上的winapi中文件win32txt获得,可以通过剪贴板直接拷贝到VB中。
3修改初始化文件实例
Windows软件包程序管理器(PROGRAMEXE),初始化文件为PROGRAM.INI,缺省内容为
[Settings]
……
order=6 3 2 4 7 1
……
其中,order指定程序组的排列顺序,下面的程序把Order的值改为“2 3 4 1 7 6 5”,并使用SHELL函数启动程序管理器。
Private Sub form_Click()
lpAppName$ = ″Settings″
lpKeyName% = ″Order″
lpString$ = ″2 3 4 1 7 6 5 ″
lpFileName$ = ″progman.ini″
j% = WritePrivateProfileString(lpAppName$, lpKeyName$ =″Order″, lpString$ = ″2 3 4 1 7 6 5″, lpFileName$)
j% = Shell(″progman.exe″, 1)
End Sub

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网