mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-22 12:47:46 +00:00
63 lines
No EOL
2 KiB
C#
63 lines
No EOL
2 KiB
C#
using System.Runtime.InteropServices;
|
|
using System.Text;
|
|
|
|
namespace FFXIVClassic_Lobby_Server.common
|
|
{
|
|
/// <summary>
|
|
/// Create a New INI file to store or load data
|
|
/// </summary>
|
|
public class IniFile
|
|
{
|
|
public string path;
|
|
|
|
[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);
|
|
[DllImport("kernel32")]
|
|
private static extern int GetPrivateProfileSectionNames(StringBuilder retVal,
|
|
int size, string filePath);
|
|
|
|
/// <summary>
|
|
/// INIFile Constructor.
|
|
/// </summary>
|
|
/// <PARAM name="INIPath"></PARAM>
|
|
public IniFile(string INIPath)
|
|
{
|
|
path = INIPath;
|
|
}
|
|
/// <summary>
|
|
/// Write Data to the INI File
|
|
/// </summary>
|
|
/// <PARAM name="Section"></PARAM>
|
|
/// Section name
|
|
/// <PARAM name="Key"></PARAM>
|
|
/// Key Name
|
|
/// <PARAM name="Value"></PARAM>
|
|
/// Value Name
|
|
public void IniWriteValue(string Section, string Key, string Value)
|
|
{
|
|
WritePrivateProfileString(Section, Key, Value, this.path);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Read Data Value From the Ini File
|
|
/// </summary>
|
|
/// <PARAM name="Section"></PARAM>
|
|
/// <PARAM name="Key"></PARAM>
|
|
/// <PARAM name="Path"></PARAM>
|
|
/// <returns></returns>
|
|
public string IniReadValue(string Section, string Key)
|
|
{
|
|
StringBuilder temp = new StringBuilder(255);
|
|
int i = GetPrivateProfileString(Section, Key, "", temp,
|
|
255, this.path);
|
|
return temp.ToString();
|
|
|
|
}
|
|
|
|
}
|
|
} |