﻿{"id":504,"date":"2009-12-07T04:02:00","date_gmt":"2009-12-06T20:02:00","guid":{"rendered":"http:\/\/blog.jixin.ntxz.net\/?p=504"},"modified":"2010-07-30T15:41:11","modified_gmt":"2010-07-30T07:41:11","slug":"c%e8%af%bb%e5%8f%96ini%e6%96%87%e4%bb%b6%e7%9a%84%e7%b1%bb","status":"publish","type":"post","link":"http:\/\/www.ntxz.net\/?p=504","title":{"rendered":"C#\u8bfb\u53d6INI\u6587\u4ef6\u7684\u7c7b"},"content":{"rendered":"<p>using System.Runtime.InteropServices;<br \/>using System.Text;<br \/>namespace CNBYTES.INI<br \/>{<br \/>&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; &lt;summary&gt;<br \/>&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; \u8bfb\u5199ini\u6587\u4ef6\u7684\u7c7b<br \/>&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; \u8c03\u7528kernel32.dll\u4e2d\u7684\u4e24\u4e2aapi\uff1aWritePrivateProfileString\uff0cGetPrivateProfileString\u6765\u5b9e\u73b0\u5bf9ini&nbsp; \u6587\u4ef6\u7684\u8bfb\u5199\u3002<br \/>&nbsp;&nbsp;&nbsp; \/\/\/<br \/>&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; INI\u6587\u4ef6\u662f\u6587\u672c\u6587\u4ef6,<br \/>&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; \u7531\u82e5\u5e72\u8282(section)\u7ec4\u6210,<br \/>&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; \u5728\u6bcf\u4e2a\u5e26\u62ec\u53f7\u7684\u6807\u9898\u4e0b\u9762,<br \/>&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; \u662f\u82e5\u5e72\u4e2a\u5173\u952e\u8bcd(key)\u53ca\u5176\u5bf9\u5e94\u7684\u503c(value)<br \/>&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; <br \/>&nbsp;&nbsp;&nbsp; \/\/\/[Section]<br \/>&nbsp;&nbsp;&nbsp; \/\/\/Key=value<br \/>&nbsp;&nbsp;&nbsp; \/\/\/<br \/>&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; &lt;\/summary&gt;<br \/>&nbsp;&nbsp;&nbsp; public class IniFile<br \/>&nbsp;&nbsp;&nbsp; {<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; &lt;summary&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; ini\u6587\u4ef6\u540d\u79f0\uff08\u5e26\u8def\u5f84)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; &lt;\/summary&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public string filePath;<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\u58f0\u660e\u8bfb\u5199INI\u6587\u4ef6\u7684API\u51fd\u6570<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [DllImport(&#8220;kernel32&#8221;)]<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [DllImport(&#8220;kernel32&#8221;)]<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; &lt;summary&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; \u7c7b\u7684\u6784\u9020\u51fd\u6570<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; &lt;\/summary&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; &lt;param&nbsp; name=&#8221;INIPath&#8221;&gt;INI\u6587\u4ef6\u540d&lt;\/param&gt;&nbsp; <br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public IniFile(string INIPath)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; filePath = INIPath;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; &lt;summary&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/&nbsp;&nbsp; \u5199INI\u6587\u4ef6<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; &lt;\/summary&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; &lt;param&nbsp; name=&#8221;Section&#8221;&gt;Section&lt;\/param&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; &lt;param&nbsp; name=&#8221;Key&#8221;&gt;Key&lt;\/param&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; &lt;param&nbsp; name=&#8221;value&#8221;&gt;value&lt;\/param&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void WriteInivalue(string Section, string Key, string value)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WritePrivateProfileString(Section, Key, value, this.filePath);<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; &lt;summary&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/&nbsp;&nbsp;&nbsp; \u8bfb\u53d6INI\u6587\u4ef6\u6307\u5b9a\u90e8\u5206<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; &lt;\/summary&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; &lt;param&nbsp; name=&#8221;Section&#8221;&gt;Section&lt;\/param&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; &lt;param&nbsp; name=&#8221;Key&#8221;&gt;Key&lt;\/param&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\/&nbsp; &lt;returns&gt;String&lt;\/returns&gt;&nbsp; <br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public string ReadInivalue(string Section, string Key)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StringBuilder temp = new StringBuilder(255);<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i = GetPrivateProfileString(Section, Key, &#8220;&#8221;, temp, 255, this.filePath);<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return temp.ToString();<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/>&nbsp;&nbsp;&nbsp; }<br \/>}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>using System.Runtime.InteropServices;using System.Text; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,8],"tags":[],"class_list":["post-504","post","type-post","status-publish","format-standard","hentry","category-1","category-oldblog"],"views":315,"_links":{"self":[{"href":"http:\/\/www.ntxz.net\/index.php?rest_route=\/wp\/v2\/posts\/504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.ntxz.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.ntxz.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.ntxz.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.ntxz.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=504"}],"version-history":[{"count":1,"href":"http:\/\/www.ntxz.net\/index.php?rest_route=\/wp\/v2\/posts\/504\/revisions"}],"predecessor-version":[{"id":816,"href":"http:\/\/www.ntxz.net\/index.php?rest_route=\/wp\/v2\/posts\/504\/revisions\/816"}],"wp:attachment":[{"href":"http:\/\/www.ntxz.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.ntxz.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=504"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.ntxz.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}