程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#讀寫ini文件

C#讀寫ini文件

編輯:關於C#

主要思路是調用Win32 API。

1.引入命名空間

using System.Runtime.InteropServices;

2.聲明(把一個Win32 API函數轉成C#函數)

 //聲明INI文件的寫操作函數 WritePrivateProfileString()
 [DllImport("kernel32")]
 private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
 //聲明INI文件的讀操作函數 GetPrivateProfileString()
 [DllImport("kernel32")]
 private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);

3.調用

//寫一個config.ini文件
 private void Save_Ini()
 {
 string s = System.Windows.Forms.Application.ExecutablePath;
 //在當前目錄下,寫一個config.ini文件
 string path = s.ToLower().Replace("mediaconvert.exe", "config.ini");
 string configureNode = "DataBaseConfigure";//配置節
 string key1 = "DataBase";//鍵名
 string key1_Value = "DataBaseName";//鍵值
 string key2 = "Server";
 string key2_Value = "ServerName";
 string key3 = "UserId";
 string key3_Value = "1";
 WritePrivateProfileString(configureNode, key1, key1_Value, path);
 WritePrivateProfileString(configureNode, key2, key2_Value, path);
 WritePrivateProfileString(configureNode, key3, key3_Value, path);
 /*最後在exe文件的同目錄下,生成一個config.ini文件,內容應如下:
 * [DataBaseConfigure]
 * DataBase=DataBaseName
 * Server=ServerName
 * UserId=1
 */
 }
 //讀取config.ini文件中的配置
 private void Read_Ini()
 {
 string s = System.Windows.Forms.Application.ExecutablePath;
 //取得config.ini路徑
 string path = s.ToLower().Replace("mediaconvert.exe", "config.ini");
 StringBuilder str = new StringBuilder(255);
 //取得配置節[DataBaseConfigure]的DataBase鍵的值
 GetPrivateProfileString("DataBaseConfigure", "DataBase", "", str, 255, path);
 //對話框中結果應該為 DataBase:DataBaseName
 System.Windows.Forms.MessageBox.Show("DataBase:" + str.ToString());
 }

C#使用系統Api,最頭疼的問題就是Api中的數據類型在C#中,如何對應的問題。

這個網站(www.pinvoke.net)列出了大多系統Api在此C#或VB.Net中的對應聲明,很詳細。

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