c#制作activex控件其他文件应该放在哪 比如说引用的dll和相关的配置文件*.ini 30

放好后我怎么读取配置文件的路径... 放好后我怎么读取配置文件的路径 展开
 我来答
秆林亟
2016-11-08 · TA获得超过234个赞
知道答主
回答量:245
采纳率:0%
帮助的人:126万
展开全部
你得先下载一个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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式