1 Star 0 Fork 13

yish/HIDtool

forked from CortexMi/HIDtool 
Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
Clone or Download
IniFileOperate.cs 3.42 KB
Copy Edit Raw Blame History
CortexMi authored 2022-05-17 17:31 . 初次提交
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows.Forms;
namespace HIDTOOL
{
class IniFileOperate
{
/*
* 文件结构:
[Section1]
key 1 = val1
key 2 = val2
……
[Section2]
key 1 = val1
key 2 = val2
……
*/
/// <summary>
/// 写入INI文件
/// </summary>
/// <param name="section">节点名称[如[TypeName]]</param>
/// <param name="key">键</param>
/// <param name="val">值</param>
/// <param name="filepath">文件路径</param>
/// <returns></returns>
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filepath);
/// <summary>
/// 读取INI文件
/// </summary>
/// <param name="section">节点名称</param>
/// <param name="key">键</param>
/// <param name="def">值</param>
/// <param name="retval">stringbulider对象</param>
/// <param name="size">字节大小</param>
/// <param name="filePath">文件路径</param>
/// <returns></returns>
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retval, int size, string filePath);
[DllImport( " kernel32 " )]
private static extern int GetPrivateProfileString( string section, string key, string defVal, Byte[] retVal, int size, string filePath);
//========================================================================================================================================================
string iniFilePath = "";
public IniFileOperate(string iniFileName) //构造方法
{
this.iniFilePath = Application.StartupPath + @"\" + iniFileName;
}
/// <summary>
/// 验证文件是否存在
/// </summary>
/// <returns>布尔值</returns>
public bool ExistINIFile()
{
return File.Exists(this.iniFilePath);
}
/// <summary>
/// 写入
/// </summary>
/// <param name="section"></param>
/// <param name="key"></param>
/// <param name="iValue"></param>
public void Write(string section, string key, string iValue)
{
WritePrivateProfileString(section, key, iValue, this.iniFilePath);
}
/// <summary>
/// 读取INI文件中的内容方法
/// </summary>
/// <param name="Section">键</param>
/// <param name="key">值</param>
/// <returns></returns>
public string Read(string Section, string key)
{
StringBuilder temp = new StringBuilder(1024);
GetPrivateProfileString(Section, key, "", temp, 1024, this.iniFilePath);
return temp.ToString();
}
public byte[] ReadBytes(string section, string key)
{
byte[] temp = new byte[255];
int i = GetPrivateProfileString(section, key, "", temp, 255, this.iniFilePath);
return temp;
}
public void DelIniFile()
{
File.Delete(this.iniFilePath);
}
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C#
1
https://gitee.com/Yish1688/hidtool.git
git@gitee.com:Yish1688/hidtool.git
Yish1688
hidtool
HIDtool
master

Search