说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Windows 初始化文件的修改 -VB资料

HTML文档下载 WORD文档下载 PDF文档下载
Windows 初始化文件的修改 -VB资料
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
SQL语句中的删除和改变-Delphi资料 TDataLink类别的说明-Delphi资料 TDBGrid控件中对多个记录的处理-Delphi资料 安装BDE需要的东东-Delphi资料 保存DBGrid中栏的字段名及尺寸-Delphi资料 动态生成定义数据库-Delphi资料 动态组成SQL速句-Delphi资料 多层C/S的客户端调用服务器端的方法-Delphi资料 关于dephi数据库的动态建立-Delphi资料 基 于WEB 的 数 据 库 查 询-Delphi资料 计算数据库某字段的值-Delphi资料 计算字段值-Delphi资料 建立应用软件注册安全机制-Delphi资料 建立自己的数据字典库-Delphi资料 将BLOB字段的BMP图显示出来-Delphi资料 将图像放入数据库中-Delphi资料 解 决sybase 用 户 数 据 库 不 能 进 入 故 障 的 一 种 方 法-Delphi资 解决sybase用户数据库不能进入故障的一种方法-Delphi资料 解决一个DBF表时的&quot;Index not found..&quot;错误-Delphi资料 精简Delphi数据库应用系统 精简Delphi数据库应用系统-定制BDE驱动程序 精简数据库应用系统-Delphi资料 开 发 基 于ORACLE7 数 据 库 的 管 理 信 息 系 统-Delphi资料 开 发AS/400 应 用 系 统: PB5 与Delphi3 的 比 较 利 用Delphi 开 发 响 应 用 户 输 入 的 数 据 库 查 询Web Server 程 利用Delphi开发响应用户输入的数据库查询Web Server程序 利用Tbatch组件完成数据批处理-Delphi资料 如 何 恢 复Sybase SQL Anywhere 的 数 据 库-Delphi资料 如何捕捉KEY VIOLATION等错误-Delphi资料 如何得到SQL返回的计算结果-Delphi资料 如何动态的读取Delphi中的PopupMenu的Caption ? 精品:数据库-表字段类型的写法!! 谁知道一般网站的在线人数统计功能是如何实现的? 如何处理float型的长度问题? 请大家帮忙这个存储过程该怎样设计?呵呵,不好意思!第一次发贴发错了^_^ 在线请教,找错 请高手门帮我解决一个问题! 请问如何把一个form的关闭按钮屏蔽掉而只留下标题栏? 高手::::请教一个简单的问题???? 还是.net连oracle的问题 急救!VB访问Linux服务器上的Oracle8i的问题 如何在没有安装.net的机子上运行C#程序阿?? 在模板实参推演中,数组的长度是如何得知的呢??? asp作提交表单 自动发到指定邮箱里。 急哭了!在线等待!!!!!! 为何我的sql服务管理器停止不了,一直为“正在停止”,而一旦停止了却又启动不起来? 怎样调用IE的一些功能??? 求教,急! 初学asp,问个简单的问题吧:怎么样知道客户端的时间? strus的配置和使用,我用jdevelop, ADO+MSSQL对DataSet中Record定位 欢迎讨论,关于水晶报表实现:折线图,或者柱形图问题 在线求助:如何读取B端操作系统信息和浏览器信息? 系統用戶使用權限的設計 combox 问题 急寻MAYA编程高手 服务器端有一个很大的XML(10M)文件,怎样从client端读取? CMainFrame 的窗口句柄怎么得到 从数据库读出文本如何保持原来格式 ? 在winform中,请教关于combobox的一个小问题 Stream Write error??????????? 存储过程的and和or连用 谁有新浪或网易等的短信网关接口? 请问如何在水晶报表里面定义一个全局变量?谢谢 如何配置SMTP服务 使用触发器时想到的 为什么要实现双接口 求DOM(DOMAIN OBJECT MODEL)的详细资料,顶着有分 winxp 在重启时总是提示:"此媒体的类型产品号无效请用正确的cd重新安装",系统进不去! 那位老大给仍一个visual assist 6.0的key,等待中。。。。 请问哪儿有类似于TDBchart数据显示的图形控件? 服务器端有一个很大的XML(10M)文件,怎样从client端读取? 业务导肮? 安全操作系统,谁能用? delphi7中怎么关闭一个子窗体,然后又能正常创建 急!请问怎样把SimensSDK和CodeWarrior整合起来? 江湖救急! 还是关于两个时间之间的处理的问题,大家看看! 高分求助:关于OPENFORM的问题! <秦>(全本) :am(酒徒) 强烈推荐 安全操作系统,谁能用? 高手助我!!!如何从数据库中的日期格式中分别取得年、月、日??? 关于拦截文件操作的API的钩子程序求教:qq:55020921(再问) 林中小溪中小溪的目标是什么 l'm sorry,let us miss.帮我翻译…越详细越好, 再三再四是什么数字 哪些自然景观可以悟出哪些道理?急,就现在!7:00前! 再三再四是什么动物 女朋友分出分手怎么办?她说我们不合适.分手原因是在一起很累,许多想法和习惯不一样.我放不下怎么办? Here are four familys .Let's welcome them.改错 近视眼年纪大了、得老花眼,是不是远近都看不清了 我看书怎么感觉字体是花的看不清,我才22不是老花眼吧 患者信息:女 23岁 海南 定安县 病情描述(发病时间、主要症状等):250度老花眼不戴老花眼镜,一般多远距离内看东西模糊?是33cm吗?想得到怎样的帮助:250度老花眼不戴老花眼镜,一般多远距离 高数 极限 连续 我想弄清楚它们三者的关系.极限值=函数值时可推出函数在该点连续,比如f'-(0)=f'+(0)=0则说明函数在x=0点极限存在对吧,如果f(0)=0即极限值=函数值说明函数在x=0该点连 韩国自主研发太空观测卫星抵俄基地 拟500万叙利亚人在国内成难民 冲突严陕西“房姐”龚爱爱案10月31日二审买机票就送高铁票 两岸廉价航线延揽长男子半夜裸身从奉化游泳到鄞州 吸毒重庆一校从不请家长 学生犯错到小房间3岁男童被老师刀划手背 留下心理阴影李某某等5人强奸上诉案将于10月31各大电视台开启亲子模式 网友:别折腾安徽一高校电子阅览室成网吧 学生缴费中学生晚上爬墙出校出意外 1人背上留生活家装饰升级品牌视觉体系“五一”市场被看好 刚需消费成主力发改委发布漳州古雷规划批复 落款时间彩色童话家水嘴抽检屡曝问题(2)博纳方丹参与“漫游意大利”居然之家发力装饰市场中石油湖南原总经理徐国才被调查新华保险推出老年专属保险阿里参投影视新兵拍《三体》职业球员也迷信
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘