1个回答
展开全部
你得先下载一个kernel32.dll然后在你的项目中添加引用下面是我做过的一个例子,你可以参考一下publicclassinifile{#region导入dll函数[DllImport("kernel32.dll")]publicexternstaticintGetPrivateProfileIntA(stringsegname,stringkeyname,intidefault,stringfilename);[DllImport("kernel32.dll")]publicexternstaticintGetPrivateProfileStringA(stringsegname,stringkeyname,stringsdefault,StringBuilderretvalue,intnsize,stringfilename);[DllImport("kernel32.dll")]publicexternstaticintGetPrivateProfileSectionA(stringsegname,byte[]sdata,intnsize,stringfilename);[DllImport("kernel32.dll")]publicexternstaticintWritePrivateProfileSectionA(stringsegname,byte[]sdata,stringfilename);[DllImport("kernel32.dll")]publicexternstaticintWritePrivateProfileStringA(stringsegname,stringkeyname,stringsvalue,stringfilename);[DllImport("kernel32.dll")]publicexternstaticintGetPrivateProfileSectionNamesA(byte[]vdata,intilen,stringfilename);#endregionprivatestring_path;//////所有的设置节///publicinisegmentssegments;//////构造函数//////ini文件路径publicinifile(stringvpath){_path=vpath;segments=newinisegments(this);byte[]bufsegs=newbyte[32767];intrel=GetPrivateProfileSectionNamesA(bufsegs,32767,_path);inticnt,ipos;stringtmp;if(rel>0){icnt=0;ipos=0;for(icnt=0;icnt///获取ini文件路径///publicstringpath{get{return_path;}}//////读取一个整数型的设置值//////设置节名///设置项名///默认值///设置值publicintgetint(stringsegname,stringkeyname,intidefault){returnGetPrivateProfileIntA(segname,keyname,idefault,_path);}//////读取一个字符串型设置值//////设置节名///设置项名///默认值///设置值publicstringgetstring(stringsegname,stringkeyname,stringsdefault){StringBuilderred=newStringBuilder(1024);GetPrivateProfileStringA(segname,keyname,"",red,1024,_path);returnred.ToString();}//////写入设置项//////设置节名///设置项名///设置值publicvoidsetstring(stringsegname,stringkeyname,stringvvalue){WritePrivateProfileStringA(segname,keyname,vvalue,_path);}//////写入一个设置节//////设置节名///数据//////数据为多个设置项组成的字符串,每个设置项之间用"\0"分割///字符串最后用"\0\0"结束/////////writesegment(segname,"\0\0");能用于清除一个设置节下的所有设置项///publicvoidwritesegment(stringsegname,stringvdata){WritePrivateProfileSectionA(segname,System.Text.ASCIIEncoding.Default.GetBytes(vdata),_path);}//////读取一个设置节下面的所有设置项//////要读取的设置节publicvoidgetsegment(inisegmento){byte[]vdata=newbyte[32767];intrlen=GetPrivateProfileSectionA(o.name,vdata,32767,_path);o.items.Clear();if(rlen<1)return;stringtmp="";intipos,icnt;ipos=0;for(icnt=0;icnt
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询