国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C# > 正文

C#實(shí)現(xiàn)利用Windows API讀寫(xiě)INI文件的方法

2019-10-29 21:41:09
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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

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

寫(xiě)入時(shí),如果沒(méi)有INI文件,自動(dòng)創(chuàng)建INI

如果在創(chuàng)建時(shí),GetLastError:5 檢查IniPath是否添加了文件名稱(chēng).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讀寫(xiě)INI文件 
  9. /// 寫(xiě)入時(shí),如果沒(méi)有INI文件,自動(dòng)創(chuàng)建INI 
  10. /// 如果在創(chuàng)建時(shí),GetLastError:5 檢查IniPath是否添加了文件名稱(chēng).ini 
  11. /// </summary> 
  12. public class INI 
  13. //聲明kernel32.dll函數(shù) 
  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. /// 構(gòu)造方法 
  24. /// </summary> 
  25. /// <param name="INIPath">INI文件的絕對(duì)路徑,后面不需要斜杠</param> 
  26. /// <param name="INIFileName">INI文件名稱(chēng)使用時(shí)不需要斜杠,需要.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. /// 寫(xiě)入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("配置文件創(chuàng)建成功"); 
  70. else 
  71. Console.WriteLine("配置文件創(chuàng)建不成功"); 
  72. catch (Exception err) 
  73. Console.WriteLine("出錯(cuò)信息:" + 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("出錯(cuò)信息:" + 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("出錯(cuò)信息:" + err.ToString()); 
  94. return "Read Error"

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 历史| 方正县| 广昌县| 班戈县| 乐亭县| 南陵县| 通化市| 拉萨市| 渭南市| 邵武市| 板桥市| 怀仁县| 阳谷县| 乌拉特后旗| 尉氏县| 丰城市| 双峰县| 南川市| 陇西县| 喜德县| 临颍县| 鹤岗市| 綦江县| 清水县| 林州市| 长阳| 遵义县| 九江县| 拉萨市| 本溪市| 双峰县| 南漳县| 江口县| 安塞县| 孝昌县| 伊宁县| 金寨县| 金塔县| 崇明县| 承德县| 抚远县|