Windows初始化文件的修改

2016-02-19 17:55 7 1 收藏

想要天天向上,就要懂得享受学习。图老师为大家推荐Windows初始化文件的修改,精彩的内容需要你们用心的阅读。还在等什么快点来看看吧!

【 tulaoshi.com - 编程语言 】

Windows应用程序的初始化文件(INI)对应用程序缺省设置起着重要的作用,初始化文件可以采用文本编辑器修改,但这种方法容易出现错误,不易由用户操作。下面介绍用VB实现修改初始化文件的方法。
  
  1初始化文件的结构与特点
  Windows应用程序初始化文件中通常设置应用程序的运行环境,确定应用程序变量的缺省设置,初始化文件既包含Windows本身的两个INI文件,也包括应用程序的初始化文件。如:win.ini、system.ini、ucdos.ini、vb.ini等。
  其中,ucdos.ini、vb.ini分别为希望公司的UCDOS和VisualBasic的初始化文件,这些初始化文件一般都是由应用程序和关键词构成,文件中内容的格式采用下面的通用格式:
  [程序名称]
  关键词=取值
  例如,在system.ini中有一段内容设置非WINDOWS应用程序的字体,即:
  〔NonWindowsApp〕
  FontChangeEnable=1
  其中,NonWindowsApp为应用程序名,FontChangeEnable为关键词,1为取值。
  
  2与初始化有关的API函数
  Windows95中的动态链接库Kernel.exe包含了六个函数,可以对INI文件进行操作,其中GetProfileInt、GetPrivateProfileInt、GetProfileString和GetPrivateString四个函数可以从INI文件中基于应用程序名和关键词的行获得信息。WritePrivateProfileString和WriteProfileString两个函数可以在INI文件中修改或创建文件中的有关行。
  
  在VB应用程序中应按下面的方式在全局模块中进行声明。
  DeclareFunctionGetProfilelntLib″Kernel″(ByVallpAppNameAsString,ByVallpKeyNameAsString,ByValnDefaultAsInteger)AsInteger
  
  DeclareFunctionGetProfileStringLib″Kernel″(ByVallpAppNameAsString,lpKeyNameAsAny,ByVallpDefaultAsString,ByVallpReturnedsringAsString,ByValnSizeAslnteger)AsInteger
  
  DeclareFunctionWriteProfileStringLib″Kernel″(ByVallpApplicationNameAsString,lpKeyNameAsAny,lpStringAsAny)Aslnteger
  
  DeclareFunctionGetPrivateProfilelntLib″Kernel″(ByVallpApplicationNameAsString,ByVallpKeyNameAsString,ByValnDefaultAslnteger,ByvallpFileNameAsString)Aslnteger
  
  DeclareFunctionGetPrivateProfileStringLib″Kernel″(ByVallpApplicationNameAsString,lpKeyNameAsAny,ByVallpDefaultAsString,ByVallpReturnedStringAsString,ByValnSizeAsString,ByValnSizeAsInteger,ByvallpFileNameAsString)AsInteger
  
  DeclareFunctionWriteProfileStringLib″Kernel″(ByVallpApplicationNameAsString,lpKeyNameAsAny,lpStringAsAny)Aslnteger
  
  其中:lpApplicationName$为应用程序名称;
  lpKeyName$为关键词;
  nDefault%为关键词指定的缺省值;
  lpFileName$为初始化文件名称;
  lpDefault$为关键词指定的缺省字符串;
  lpReturnString$为接受返回值指定字符的缓冲变量;
  nSize%指定拷贝到缓冲变量的字符个数;
  lpString$为新的关键词指定字符串。
  上面的声明可以从VB目录上的winapi中文件win32txt获得,可以通过剪贴板直接拷贝到VB中。
  3修改初始化文件实例
  Windows软件包程序管理器(PROGRAMEXE),初始化文件为PROGRAM.INI,缺省内容为
  [Settings]
  ……
  order=632471
  ……
  其中,order指定程序组的排列顺序,下面的程序把Order的值改为“2341765”,并使用SHELL函数启动程序管理器。
  PrivateSubform_Click()
  lpAppName$=″Settings″
  lpKeyName%=″Order″
  lpString$=″2341765″
  lpFileName$=″progman.ini″
  j%=WritePrivateProfileString(lpAppName$,lpKeyName$=″Order″,lpString$=″2341765″,lpFileName$)
  j%=Shell(″progman.exe″,1)
  EndSub->

来源:http://www.tulaoshi.com/n/20160219/1616388.html

延伸阅读
问题:        C++中如何初始化类中的表数据?在C语言中,我能像下面这样初始化结构数组:  // strUCt MYSTRUCT {     int x,y,z; };MYSTRUCT table[] = {     { 1,2,3 },     { 4,5,6 },     .....
《耻辱》初始化失败的解决方法 我想一定有很多人安装了最新的DLC后,打开游戏就弹出对话框,初始化失败吧,下面来介绍下解决办法: 如果用的是汉化贴里面那个R组全套+2DLC+9.0,并且是是XP系统,而且怎么弄也弄不进去,出现oxc0000142(初始化失败) 。 其实是破解的问题,R组的补丁不支持XP系统。 重新找个升级档破解补丁,复制到 Dishon...
一维数组的声明方式: type var[]; 或type[] var; 声明数组时不能指定其长度(数组中元素的个数), Java中使用关键字new创建数组对象,格式为: 数组名 = new 数组元素的类型 [数组元素的个数] 实例: TestNew.java: 程序代码: public class TestNew {public static void main(String args[]) { int[] s ; int i ; s = new...
  全部引导过程是四步 1:boot PROM phase 2:boot Programs phase 3:kernel initialization phase 4:init phase system初始化,检测内存和cpu,检查设备和创建设备树,设置console kernel初始化过程 kernel self -initialization 内核自检 loading of kernel modules 载入内核模块 rea...
规则1(无继承情况下): 对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是 (静态变量、静态初始化块)(变量、初始化块)构造器 证明代码: 代码如下: public class InitialOrderTest {     // 静态变量     public static String staticField = "静态变量";   &...

经验教程

480

收藏

22
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部