IniHelper.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using System.Collections.Generic;
  2. using System.Runtime.InteropServices;
  3. using System.Text;
  4. namespace WWPipeLine.Commons
  5. {
  6. public class IniHelper
  7. {
  8. private static readonly string DEFAULT_SECTION = "DEFAULT";
  9. public static readonly string KEY_LAST_WORKSPACE_PATH = "LastWorkSpacePath";
  10. public static readonly string KEY_WorkspaceMapIndex_PATH = "WorkspaceMapIndex";
  11. public static readonly string KEY_WorkspaceDatasourceIndex_PATH = "WorkspaceDatasourceIndex";
  12. public static readonly string KEY_ConfigsMenus_PATH = "ConfigsMenusPath";
  13. public static readonly string KEY_ConfigsNpgsql_PATH = "ConfigsNpgsql";
  14. public static readonly string KEY_LoginUser_PATH = "LoginUser";
  15. public static readonly string KEY_LoginPass_PATH = "LoginPass";
  16. public static readonly string KEY_MapCenterX_PATH = "MapCenterX";
  17. public static readonly string KEY_MapCenterY_PATH = "MapCenterY";
  18. public static readonly string KEY_MapScale_PATH = "MapScale";
  19. public static readonly string KEY_bsURL_PATH = "bsURL";
  20. private static string iniCfgPath
  21. {
  22. get
  23. {
  24. return Paths.ApplicationConfigDir + "/" + "default.ini";
  25. }
  26. }
  27. public static string Read(string key, string defaultVal = "")
  28. {
  29. var val = new StringBuilder();
  30. GetPrivateProfileString(DEFAULT_SECTION, key, defaultVal, val, 1024, iniCfgPath);
  31. return val.ToString();
  32. }
  33. public static void Write(string key, string val)
  34. {
  35. WritePrivateProfileString(DEFAULT_SECTION, key, val, iniCfgPath);
  36. }
  37. /// <summary>
  38. /// 写入INI文件
  39. /// </summary>
  40. /// <param name="section">节点名称[如[TypeName]]</param>
  41. /// <param name="key">键</param>
  42. /// <param name="val">值</param>
  43. /// <param name="filepath">文件路径</param>
  44. /// <returns></returns>
  45. [DllImport("kernel32")]
  46. public static extern bool WritePrivateProfileString(string section, string key, string val, string filepath);
  47. /// <summary>
  48. /// 读取INI文件
  49. /// </summary>
  50. /// <param name="section">节点名称</param>
  51. /// <param name="key">键</param>
  52. /// <param name="def">值</param>
  53. /// <param name="retval">stringbulider对象</param>
  54. /// <param name="size">字节大小</param>
  55. /// <param name="filePath">文件路径</param>
  56. /// <returns></returns>
  57. [DllImport("kernel32")]
  58. public static extern bool GetPrivateProfileString(string section, string key, string def, StringBuilder retval, int size, string filePath);
  59. }
  60. }