302Soft—302软件技术联盟

ASP.NET / C# / PowerBuilder 技术交流
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C#读写ini文件(2)

Posted on 2007-01-18 00:18  寒夜听雨  阅读(2685)  评论(4编辑  收藏  举报

可以通过调用kernel32.dll中的两个api:WritePrivateProfileString,GetPrivateProfileString来实现对ini 文件的读些。

具体实现的代码如下:

 
using System; 
using System.Drawing; 
using System.Collections; 
using System.ComponentModel; 
using System.Windows.Forms; 
using System.Data; 
using System.Runtime.InteropServices; //DllImport
using System.Text; //StringBuilder 


namespace iniprocess 


public class Form1 : System.Windows.Forms.Form 

private System.Windows.Forms.TextBox textBox1; 
private System.Windows.Forms.Button button2; 
private System.Windows.Forms.Button button1; 

[DllImport(
"kernel32")] 
private static extern long WritePrivateProfileString(string section, 
string key,string val,string filePath); 
[DllImport(
"kernel32")] 
private static extern int GetPrivateProfileString(string section, 
string key,string def, StringBuilder retVal, 
int size,string filePath); 

public void IniWriteValue(string Section,string Key,string Value,string filepath)//对ini文件进行写操作的函数 

WritePrivateProfileString(Section,Key,Value,filepath); 


public string IniReadValue(string Section,string Key,string filepath)//对ini文件进行读操作的函数 

StringBuilder temp 
= new StringBuilder(255); 
int i = GetPrivateProfileString(Section,Key,"",temp, 
255, filepath); 
return temp.ToString(); 






private void button1_Click(object sender, System.EventArgs e) 


this.textBox1 .Text= IniReadValue("ODBC 32 bit Data Sources","MS Access Database","e:\\temp\\ODBC.INI"); 



private void button2_Click(object sender, System.EventArgs e) 


IniWriteValue (
"ODBC 32 bit Data Sources","MS Access Database",this.textBox1 .Text,"e:\\temp\\ODBC.INI"); 




Copyright(C) 2004-2007 302Soft-寒夜听雨 版权所有