加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb.net中使用GetPrivateProfileString访问INI文件,解决中文路径

发布时间:2020-12-16 23:16:20 所属栏目:大数据 来源:网络整理
导读:引自:http://blog.csdn.net/yizia/archive/2008/06/24/2580744.aspx 在vb.net2005+winxp中,我使用GetPrivateProfileString读取一个ini文件,如果文件路径中含有中文,就会遇到一个奇怪的问题:第一次读取正常,第二次读取就取不到值。代码如下: view plai

引自:http://blog.csdn.net/yizia/archive/2008/06/24/2580744.aspx


  在vb.net2005+winxp中,我使用GetPrivateProfileString读取一个ini文件,如果文件路径中含有中文,就会遇到一个奇怪的问题:第一次读取正常,第二次读取就取不到值。代码如下:

view plain copy to clipboard print ?
  1. PrivateDeclareFunctionGetPrivateProfileStringLib"kernel32"Alias"GetPrivateProfileStringA"(ByVallpApplicationNameAsString,ByVallpKeyNameAsString,ByVallpDefaultAsString,ByVallpReturnedStringAsString,ByValnSizeAsInteger,ByVallpFileNameAsString)AsInteger
  2. Privatem_filenameAsString="c:/椅子/slcuserinfo.ini"
  3. PublicFunctionGetiniValue(ByVallpKeyNameAsString,ByValstrNameAsString)AsString
  4. DimstrTmpAsString
  5. 'DimfileTmpAsString
  6. 'fileTmp=m_filename
  7. strTmp=NewString("",100)
  8. 'CallGetPrivateProfileString(lpKeyName,strName,"",strTmp,Len(strTmp),fileTmp)
  9. CallGetPrivateProfileString(lpKeyName,"",m_filename)
  10. GetiniValue=Left$(strTmp,InStr(strTmp,vbNullChar)-1)
  11. EndFunction

反复试验过以后,发现取消注释掉的代码就可以正常运行。百思不得其解,看api的声明没有问题啊,为什么lpFileName会出现异常呢?

不管怎样,这个问题耽误了我2个小时,先贴上故障和解决办法,以后再研究

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读