文件

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();
        }
    }
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值