a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

C#實現利用Windows API讀寫INI文件的方法

2019-10-29 21:41:09
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了C#實現利用Windows API讀寫INI文件的方法,涉及C#針對ini文件的創建、讀取及寫入等操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了C#實現利用Windows API讀寫INI文件的方法。分享給大家供大家參考。具體如下:

寫入時,如果沒有INI文件,自動創建INI

如果在創建時,GetLastError:5 檢查IniPath是否添加了文件名稱.ini

 

 
  1. using System; 
  2. using System.Collections.Generic; 
  3. using System.Text; 
  4. using System.IO; 
  5. using System.Runtime.InteropServices; 
  6. namespace NameSpace 
  7. /// <summary> 
  8. /// 利用Windows API讀寫INI文件 
  9. /// 寫入時,如果沒有INI文件,自動創建INI 
  10. /// 如果在創建時,GetLastError:5 檢查IniPath是否添加了文件名稱.ini 
  11. /// </summary> 
  12. public class INI 
  13. //聲明kernel32.dll函數 
  14. [DllImport("kernel32")] 
  15. private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); 
  16. [DllImport("kernel32")] 
  17. private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath); 
  18. // 
  19. [DllImport("kernel32")] 
  20. public static extern uint GetLastError(); 
  21. string IniPath = null
  22. /// <summary> 
  23. /// 構造方法 
  24. /// </summary> 
  25. /// <param name="INIPath">INI文件的絕對路徑,后面不需要斜杠</param> 
  26. /// <param name="INIFileName">INI文件名稱使用時不需要斜杠,需要.ini</param> 
  27. public INI(string INIPath,string INIFileName) 
  28. Console.WriteLine("INI Object building"); 
  29. IniPath = INIPath + "//" + INIFileName; 
  30. Console.WriteLine("INIFilePath :" + IniPath); 
  31. /// <summary> 
  32. /// 寫入INI文件 
  33. /// </summary> 
  34. /// <param name="Section">Section</param> 
  35. /// <param name="Key">Key</param> 
  36. /// <param name="Value">Value</param> 
  37. public void IniWriteValue(string Section, string Key, string Value) 
  38. Console.WriteLine("---IniWriteValue---"); 
  39. Console.WriteLine("Section :" + Section); 
  40. Console.WriteLine("Key :" + Key); 
  41. Console.WriteLine("Value :" + Value); 
  42. Console.WriteLine("IniPath :" + IniPath); 
  43. UInt32 Snapshot = GetLastError(); 
  44. // 
  45. WritePrivateProfileString(Section, Key, Value, IniPath); 
  46. if (Snapshot != GetLastError()) 
  47. Console.WriteLine("GetLastError :" + GetLastError()); 
  48. /// <summary> 
  49. /// 讀出INI文件 
  50. /// </summary> 
  51. /// <param name="Section">Section</param> 
  52. /// <param name="Key">Key</param> 
  53. public string IniReadValue(string Section, string Key) 
  54. StringBuilder result = new StringBuilder(256); 
  55. GetPrivateProfileString(Section, Key, null, result, 256, IniPath); 
  56. return result.ToString(); 
  57. public bool ExistINIFile() 
  58. return File.Exists(IniPath); 
  59. /// <summary> 
  60. /// creat config file to application ini 
  61. /// </summary> 
  62. /// <param name="dnf_path"></param> 
  63. public void CreateConfig(string IP) 
  64. Console.WriteLine("CreateConfig"); 
  65. Console.WriteLine("IP:" + IP); 
  66. try 
  67. WriteConfigIP(IP); 
  68. if (ExistINIFile()) 
  69. Console.WriteLine("配置文件創建成功"); 
  70. else 
  71. Console.WriteLine("配置文件創建不成功"); 
  72. catch (Exception err) 
  73. Console.WriteLine("出錯信息:" + err.ToString()); 
  74. /// <summary> 
  75. /// write config for ip information 
  76. /// </summary> 
  77. /// <param name="IP"></param> 
  78. public void WriteConfigIP(string IP) 
  79. string Section = "Config"
  80. string Key = "IP"
  81. string Value = IP; 
  82. try 
  83. IniWriteValue(Section, Key, Value); 
  84. catch (Exception err) 
  85. Console.WriteLine("出錯信息:" + err.ToString()); 
  86. public string ReadConfigIP() 
  87. try 
  88. string Section = "Config"
  89. string result = IniReadValue(Section, "IP"); 
  90. Console.WriteLine("ReadConfigIP Result :" + result); 
  91. return result; 
  92. catch (Exception err) 
  93. Console.WriteLine("出錯信息:" + err.ToString()); 
  94. return "Read Error"

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄色网亚洲 | 欲色av| 国产精品久久久久久一区二区三区 | 91免费观看视频 | 久久成人精品视频 | 中文字幕在线观看亚洲 | 亚洲成年 | 久草在线国产 | 国产一区二区视频在线 | 99国产精品久久 | 91在线播| 欧美精品一区二区免费 | 精品欧美一区二区在线观看视频 | 亚洲三级在线播放 | 国产美女啪啪 | 欧美视频在线观看免费 | 欧美成人久久久免费播放 | 午夜国产精品视频 | 97超碰免费| 色视频网址 | 国产伦精品一区二区三区在线 | 97精品在线 | 在线碰| 成人午夜在线视频 | 天天插天天操 | 亚洲成人一区二区三区 | 绯色av一区二区三区在线高清 | 欧洲三级在线 | 中文日韩在线 | 一区二区三区免费看 | 成人看的免费视频 | a免费网站| 高潮毛片又色又爽免费 | 高清国产一区 | aaa在线| 一区二区三区 | 欧美成人免费观看 | 欧美精品久久久久久久久老牛影院 | 亚洲福利av | 欧美日韩三级 | 成人午夜精品 |