using
System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace Demo1
{
/// <summary>
/// 配置文件操作
/// </summary>
public partial class Form1 : Form
{
/// <summary>
/// 在初始化文件指定小节内设置一个字串
/// </summary>
/// <param name="section"> 要在其中写入新字串的小节名称。这个字串不区分大小写 </param>
/// <param name="key"> 要设置的项名或条目名。这个字串不区分大小写。用vbNullString可删除这个小节的所有设置项 </param>
/// <param name="val"> 指定为这个项写入的字串值。用vbNullString表示删除这个项现有的字串 </param>
/// <param name="filePath"> 初始化文件的名字。如果没有指定完整路径名,则windows会在windows目录查找文件。如果文件没有找到,则函数会创建它 </param>
/// <returns> 非零表示成功,零表示失败。会设置GetLastError </returns>
[DllImport( " kernel32 " )]
private static extern long WritePrivateProfileString(String section, String key, String val, String filePath);
/// <summary>
/// 为初始化文件中指定的条目获取一个整数值
/// </summary>
/// <param name="section"> 指定在其中查找条目的小节。注意这个字串是不区分大小写的 </param>
/// <param name="key"> 欲获取的设置项或条目。这个支持不区分大小写 </param>
/// <param name="val"> 指定条目未找到时返回的默认值 </param>
/// <param name="filePath"> 初始化文件的名字。如果没有指定完整的路径名,windows就会在Windows目录中搜索文件注解 </param>
/// <returns> 找到的条目的值;如指定的条目未找到,就返回默认值。如找到的数字不是一个合法的整数,函数会返回其中合法的一部分。如,对于“xyz=55zz”这个条目,函数返回55。这个函数也能理解采用标准C语言格式的十六进制数字:用0x作为一个十六进制数字的前缀——所以0x55ab等价于vb的&H55AB </returns>
[DllImport( " kernel32 " )]
private static extern int GetPrivateProfileInt(String section, String key, int val, String filePath);
/// <summary>
/// 为初始化文件中指定的条目取得字串
/// </summary>
/// <param name="section"> 欲在其中查找条目的小节名称。这个字串不区分大小写。如设为vbNullString,就在lpReturnedString缓冲区内装载这个ini文件所有小节的列表 </param>
/// <param name="key"> 欲获取的项名或条目名。这个字串不区分大小写。如设为vbNullString,就在lpReturnedString缓冲区内装载指定小节所有项的列表 </param>
/// <param name="def"> 指定的条目没有找到时返回的默认值。可设为空("") </param>
/// <param name="retVal"> 指定一个字串缓冲区,长度至少为nSize </param>
/// <param name="size"> 指定装载到lpReturnedString缓冲区的最大字符数量 </param>
/// <param name="filePath"> 初始化文件的名字。如没有指定一个完整路径名,windows就在Windows目录中查找文件 </param>
/// <returns> 复制到lpReturnedString缓冲区的字节数量,其中不包括那些NULL中止字符。如lpReturnedString缓冲区不够大,不能容下全部信息,就返回nSize-1(若lpApplicationName或lpKeyName为NULL,则返回nSize-2) </returns>
[DllImport( " kernel32 " )]
private static extern int GetPrivateProfileString(String section, String key, String def, StringBuilder retVal, int size, String filePath);
public Form1()
{
InitializeComponent();
}
private void button1_Click( object sender, EventArgs e)
{
MessageBox.Show(Environment.CommandLine);
}
private void button2_Click( object sender, EventArgs e)
{
WritePrivateProfileString( " autorun " , " Open " , @" vschsautorun.exe " , Environment.CurrentDirectory + @" autorun.inf " );
WritePrivateProfileString( " autorun " , " Icon " , @" vschssetup.exe,0 " , Environment.CurrentDirectory + @" autorun.inf " );
}
private void button3_Click( object sender, EventArgs e)
{
int result = GetPrivateProfileInt( " autorun " , " Open " , 1 , Environment.CurrentDirectory + @" autorun.inf " );
button3.Text = result.ToString();
}
private void button4_Click( object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
GetPrivateProfileString( " autorun " , " Open " , "" , sb, 1024 , Environment.CurrentDirectory + @" autorun.inf " );
button4.Text = sb.ToString();
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace Demo1
{
/// <summary>
/// 配置文件操作
/// </summary>
public partial class Form1 : Form
{
/// <summary>
/// 在初始化文件指定小节内设置一个字串
/// </summary>
/// <param name="section"> 要在其中写入新字串的小节名称。这个字串不区分大小写 </param>
/// <param name="key"> 要设置的项名或条目名。这个字串不区分大小写。用vbNullString可删除这个小节的所有设置项 </param>
/// <param name="val"> 指定为这个项写入的字串值。用vbNullString表示删除这个项现有的字串 </param>
/// <param name="filePath"> 初始化文件的名字。如果没有指定完整路径名,则windows会在windows目录查找文件。如果文件没有找到,则函数会创建它 </param>
/// <returns> 非零表示成功,零表示失败。会设置GetLastError </returns>
[DllImport( " kernel32 " )]
private static extern long WritePrivateProfileString(String section, String key, String val, String filePath);
/// <summary>
/// 为初始化文件中指定的条目获取一个整数值
/// </summary>
/// <param name="section"> 指定在其中查找条目的小节。注意这个字串是不区分大小写的 </param>
/// <param name="key"> 欲获取的设置项或条目。这个支持不区分大小写 </param>
/// <param name="val"> 指定条目未找到时返回的默认值 </param>
/// <param name="filePath"> 初始化文件的名字。如果没有指定完整的路径名,windows就会在Windows目录中搜索文件注解 </param>
/// <returns> 找到的条目的值;如指定的条目未找到,就返回默认值。如找到的数字不是一个合法的整数,函数会返回其中合法的一部分。如,对于“xyz=55zz”这个条目,函数返回55。这个函数也能理解采用标准C语言格式的十六进制数字:用0x作为一个十六进制数字的前缀——所以0x55ab等价于vb的&H55AB </returns>
[DllImport( " kernel32 " )]
private static extern int GetPrivateProfileInt(String section, String key, int val, String filePath);
/// <summary>
/// 为初始化文件中指定的条目取得字串
/// </summary>
/// <param name="section"> 欲在其中查找条目的小节名称。这个字串不区分大小写。如设为vbNullString,就在lpReturnedString缓冲区内装载这个ini文件所有小节的列表 </param>
/// <param name="key"> 欲获取的项名或条目名。这个字串不区分大小写。如设为vbNullString,就在lpReturnedString缓冲区内装载指定小节所有项的列表 </param>
/// <param name="def"> 指定的条目没有找到时返回的默认值。可设为空("") </param>
/// <param name="retVal"> 指定一个字串缓冲区,长度至少为nSize </param>
/// <param name="size"> 指定装载到lpReturnedString缓冲区的最大字符数量 </param>
/// <param name="filePath"> 初始化文件的名字。如没有指定一个完整路径名,windows就在Windows目录中查找文件 </param>
/// <returns> 复制到lpReturnedString缓冲区的字节数量,其中不包括那些NULL中止字符。如lpReturnedString缓冲区不够大,不能容下全部信息,就返回nSize-1(若lpApplicationName或lpKeyName为NULL,则返回nSize-2) </returns>
[DllImport( " kernel32 " )]
private static extern int GetPrivateProfileString(String section, String key, String def, StringBuilder retVal, int size, String filePath);
public Form1()
{
InitializeComponent();
}
private void button1_Click( object sender, EventArgs e)
{
MessageBox.Show(Environment.CommandLine);
}
private void button2_Click( object sender, EventArgs e)
{
WritePrivateProfileString( " autorun " , " Open " , @" vschsautorun.exe " , Environment.CurrentDirectory + @" autorun.inf " );
WritePrivateProfileString( " autorun " , " Icon " , @" vschssetup.exe,0 " , Environment.CurrentDirectory + @" autorun.inf " );
}
private void button3_Click( object sender, EventArgs e)
{
int result = GetPrivateProfileInt( " autorun " , " Open " , 1 , Environment.CurrentDirectory + @" autorun.inf " );
button3.Text = result.ToString();
}
private void button4_Click( object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
GetPrivateProfileString( " autorun " , " Open " , "" , sb, 1024 , Environment.CurrentDirectory + @" autorun.inf " );
button4.Text = sb.ToString();
}
}
}