程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> Windows初始化文件的修改

Windows初始化文件的修改

編輯:VB綜合教程
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->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved