1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
using System.Runtime.InteropServices;
using System.Text;
namespace ShiftOS.Engine.Misc
{
/// <summary>
/// Create a New INI file to store or load data
/// </summary>
public class IniFile
{
readonly string _path;
public IniFile(string iniPath) => _path = iniPath;
[DllImport("kernel32")]
static extern long WritePrivateProfileString(
string section,
string key,
string val,
string filePath);
[DllImport("kernel32")]
static extern int GetPrivateProfileString(
string section,
string key,
string def,
StringBuilder retVal,
int size,
string filePath);
public void WriteValue(string section, string key, string value)
{
WritePrivateProfileString(section, key, value, _path);
}
public string ReadValue(string section, string key)
{
var temp = new StringBuilder(255);
GetPrivateProfileString(
section,
key,
"",
temp,
255,
_path);
return temp.ToString();
}
}
}
|