一、什麼是ini 檔案?
ini 檔案 在windows 系統中 最重要的是 「system.ini」、「system32.ini」和「win.ini」 該檔案主要存放使用者所做的選擇以及系統的各種引數。使用者可以通過修改ini 檔案,來改變應用程式和系統的很多配置。
二、ini 檔案格式
[section1]
keyword1=value1
keyword2=value2
[section2]
keyword3=value3
keyword4=value4
三、ini 檔案程式設計
(1)ini 檔案使用的必要性
ini 檔案是記錄自身資訊,例如綠色軟體是必須用到的ini 檔案
(2)ini 檔案使用的地方
ini 檔案在系統配置及應用程式引數儲存與設定方面,具有很重要的作用,在c#程式設計方面,因為ini 屬於非託管**,而c#使用的類庫都是託管**,因此需要使用win32的api函式訪問託管com物件,進行對ini 檔案的讀寫
c#操作ini檔案需要用到windows 系統自帶win32的api函式 writeprivateprofilestring() 和 getprivateprofilestring() 函式,這兩個函式都位於kernel32.dll 檔案中。
四、c#呼叫api 操作ini 檔案
操作ini 檔案所使用到的三個api 函式:
writeprivateprofilestring() ini 檔案寫的函式
getprivateprofilestring() 和 getprivateprofileint() ini 檔案讀的函式
這兩個的區別是 前者讀入字串 後者讀入整型值
五、c#宣告ini檔案的讀寫操作函式
writeprovateprofilestring() 申明:
[dlllmport("kernel32")]
private static extern long writeprovateprofilestring(string section,string key , string val,string filepath);
引數說明:
section : ini 檔案中的段落名稱;
key: ini 檔案中的關字;
val:ini 檔案中關鍵字的數值;
filepath:ini 檔案的完整的路徑和名稱;
getprivateprofilestring() 申明:
[dlllmport("kernel32")]
private static extern int getprivateprofilestring(string section,string key,string def,stringbuilder retval,int size,string filepath);
引數說明:
section:ini 檔案中的段落名稱;
key:ini 檔案中的關鍵字;
def:無法讀取時候的缺少數值;
retval:讀取數值;
size;數值大小;
filepath:ini 檔案的完整路徑和名稱。
六、讀寫ini 檔案的類的例子:
using system.runtime.interopservices;ini 檔案引用連線using system.text;
namespace inifile
//////寫入ini檔案
//////專案名稱(如typename)
///鍵
///值
public void iniwritevalue(string section,string key,string value)
//////讀出ini 檔案
//////專案名稱
///鍵
public string inireadvalue(string section,string key)
//////驗證檔案是否存在
//////布林值
public bool existinifile()
}}
關於c#操作ini檔案的總結
INI檔案的應用
c 中使用的類庫都是託管 檔案,而win32的api函式所處的檔案,都是非託管 檔案。這就導致了在c 中不可能直接使用這些非託管 檔案中的函式。ini檔案是利用api函式實現的。今天coding的時候,發現有個地方用到ini檔案,就試了下。一 命名空間 using system.runtime.in...
INI檔案的操作
概述 在程式中經常要用到設定或者其他少量資料的存檔,以便程式在下一次執行的時候可以使用,比如說儲存本次程式執行時視窗的位置 大小 一些使用者設定的資料等等,在 dos 下程式設計的時候,我們一般自己產生乙個檔案,由自己把這些資料寫到檔案中,然後在下一次執行的時候再讀出來使用。在 win32 程式設計...
ini檔案的讀寫
1.function readstring const section,ident,default string string 函式中section為節點名,ident為關鍵字,default為預設值.procedure writestring const section,ident,default...