IniHelper.cs 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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_WORKSPACE_PATH = "WorkspaceName";
  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. public static readonly string KEY_webTool_PATH = "webTool";
  21. public static readonly string KEY_GISversion_PATH = "GISversion";
  22. private static string iniCfgPath
  23. {
  24. get
  25. {
  26. return Paths.ApplicationConfigDir + "/" + "default.ini";
  27. }
  28. }
  29. public static string Read(string key, string defaultVal = "")
  30. {
  31. var val = new StringBuilder();
  32. GetPrivateProfileString(DEFAULT_SECTION, key, defaultVal, val, 1024, iniCfgPath);
  33. return val.ToString();
  34. }
  35. public static void Write(string key, string val)
  36. {
  37. WritePrivateProfileString(DEFAULT_SECTION, key, val, iniCfgPath);
  38. }
  39. /// <summary>
  40. /// 写入INI文件
  41. /// </summary>
  42. /// <param name="section">节点名称[如[TypeName]]</param>
  43. /// <param name="key">键</param>
  44. /// <param name="val">值</param>
  45. /// <param name="filepath">文件路径</param>
  46. /// <returns></returns>
  47. [DllImport("kernel32")]
  48. public static extern bool WritePrivateProfileString(string section, string key, string val, string filepath);
  49. /// <summary>
  50. /// 读取INI文件
  51. /// </summary>
  52. /// <param name="section">节点名称</param>
  53. /// <param name="key">键</param>
  54. /// <param name="def">值</param>
  55. /// <param name="retval">stringbulider对象</param>
  56. /// <param name="size">字节大小</param>
  57. /// <param name="filePath">文件路径</param>
  58. /// <returns></returns>
  59. [DllImport("kernel32")]
  60. public static extern bool GetPrivateProfileString(string section, string key, string def, StringBuilder retval, int size, string filePath);
  61. }
  62. }