vb.net中使用GetPrivateProfileString访问INI文件

您现在的位置: 电脑爱好者 >> 电脑问答 >> 编程 >> VB >> 正文 收藏到QQ书签
在vb.net2005+winxp中,我使用GetPrivateProfileString读取一个ini文件,如果文件路径中含有中文,就会遇到一个奇怪的问题:第一次读取正常,第二次读取就取不到值。代码如下:


Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer

Private m_filename As String = "c:\椅子\slcuserinfo.ini"

Public Function GetiniValue(ByVal lpKeyName As String, ByVal strName As String) As String

Dim strTmp As String

'Dim fileTmp As String

'fileTmp = m_filename

strTmp = New String(" ", 100)

'Call GetPrivateProfileString(lpKeyName, strName, "", strTmp, Len(strTmp), fileTmp)

Call GetPrivateProfileString(lpKeyName, strName, "", strTmp, Len(strTmp), m_filename)



GetiniValue = Left$(strTmp, InStr(strTmp, vbNullChar) - 1)

End Function

Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer

Private m_filename As String = "c:\椅子\slcuserinfo.ini"

Public Function GetiniValue(ByVal lpKeyName As String, ByVal strName As String) As String

Dim strTmp As String

'Dim fileTmp As String

'fileTmp = m_filename

strTmp = New String(" ", 100)

'Call GetPrivateProfileString(lpKeyName, strName, "", strTmp, Len(strTmp), fileTmp)

Call GetPrivateProfileString(lpKeyName, strName, "", strTmp, Len(strTmp), m_filename)



GetiniValue = Left$(strTmp, InStr(strTmp, vbNullChar) - 1)

End Function 反复试验过以后,发现取消注释掉的代码就可以正常运行。百思不得其解,看api的声明没有问题啊,为什么lpFileName会出现异常呢?
· vb.net中使用GetPrivateProfileString访问I…
· java有分类吗`?各个分类的应用范围是怎么样…
· vb与vb.net的问题
· 用VB写一个远程通讯系统
· 怎么使没装VB的电脑正常运行VB编写的程序?
· asp 或者VB中循环语句怎么写呢…
· 把图片的位深度由24改到8 用VB写个代码怎么…
· 用VB做控件
· VB回显DOS命令
· vb6.0和VB.NET有什么不同,
· VB2005中是不是舍去了SELSTART这项?在TEXT…
· 我该如何继续学习vb
· 是否可以把学VB当作学VC的一个铺垫
· VB好不好??
· 为什么我用VB写了代码关闭瑞星,他老自动重启…
· excel里面的VB与单独安装的VB一样吗?
· NET游戏编程入门经典——VB.NET篇电子书
· 如何让自己用vb做的播放器关联mp3或其他音乐…
· 几个简单的vb 问题…
· 各位高手,学完vb能编出啥程序来?
· 为什么我下的VB6.0无法安装
· 什么VB学得进去,C根本不知道它在说什么。
· 如何学好VB
· 请问一下关于vb 谢谢!…
· 为什么用vb连access2007数据库时系统说”不…
· VB 计时器如何暂停…
· vb动态数组应用
· VB和C语言哪个难一些?
· 如何做VB的自动驱动
· 把图片的位深度由24改到8 用VB写个代码怎么…
· 关于VB和PLC技术
· 关于VB编程的问题
· c语言 和 vb 有什么联系 我想学VB 但不知道…
· vb是什么也是计算机语言吗
· 用VB来剔除一些数字
· 学VB还用学Basic吗?
· 会vb和delphi的请进
· VB编成的初学者应该学点什么
· vb和vbscript区别
· VB高手进来拿分拉~!
· 请教各位前辈关于学习网络安全和协议问题。
· vb c# 都了解得高手请!!!!!!!!!!!~~~~…
· VB.NET问题
· 求介绍VB的英文文献翻译
· VB最新是哪个版本
· vb编程有点不懂,高手帮忙看一下,解释清楚…
· 求高手 几道简单的VB编程题…
· 谁对VB或Delphi精通,交个朋友.我正在学习它…
· VB精通拷贝命令的请进!
· 100分!!!请教VB6.0中的背景音乐问题!
  电脑常识        显示设备        优秀站点
· LCD显示器刷新率60有水波纹 70就没有了…
· 笔记本电脑屏幕变红现象,为什么?
· 请问哪家会做无线LED电子显示屏?
· 关于纯平显示器的问题。
· 买全新液晶显示器好还是二手液晶显示器好?
· 电脑显示屏,严重缩屏,求教!!
· 大家说显示器花屏和路由器有关吗?
· 如何在桌面上创建IE浏览器
· 为什么我的电脑可以休眠但是待机后就不能恢复了~~按电源键也不行…
· 打开全是图片的文件夹,点幻灯片播放。请问这些幻灯片怎样设置速…
· 浏览器为什么常常会有卡机的现象
· 谁有用过速达5000工业版得说明!,在网上查了好久没找到实用得资…
· CAD2007的剖切是哪个图标
· 为什么电脑桌面刷新会跳出提示?
· 数码相机XD卡,相机显示为卡错误,电脑上打不开
· 为什么我的百度贴吧网址被封了
· 为什么电脑一开机会出现c/windows/system32/sdzfw7pi.dll
· 为什么电脑上加载c/windows/system32/sdzfw7pi.dll出错,拒绝访问
· 这是第一次测速1243.9 Kbps 152.4 K 字节/秒 这是第2次600.4Kbps…
· 电脑画面不清晰
  硬件      互联网     工具软件     其他应用软件
· 开机,机器不响,显示器也不亮。
· 打印机总是打白纸出来啊,墨水很多,喷头也没堵,驱动也没问题,打印…
· 关于显卡兼容问题
· 罗技和微软键盘好在哪
· 请问各位高手一下
· 硬盘安装两个硬盘后,看不到
· 1G内存卡里面什么文件都没有现在可用内存却只有500M了请问怎么解…
· 求声卡驱动
· 换了cpu 电脑会不时的死机 愁死我了…
· 监控拾音器怎么连接,摄像机用起来很糊
· 3000-4000元的电脑配置
· 89c51里如何定义可以把P2和P0口合在一起作为一个十六位数,其中P0…
· 知道芯片型号,应该买那个品牌?
· 想买一块移动硬盘
· 请问大家微星845E主板支持DDR2的1G内存么.?
· 0x458aa852指令引用的0x458aa850内存 该内存不能为 written…
· 我网吧里的收费主机可以和局域网连接,为什么不能上网呢(没有掉线…
· 为什么我家电脑光装个猫不能上网,非要再接个路由器?而且老爱掉…
· 电脑装不上猫
· 什么我的电脑装不上winxp?
  病毒木马     数据库     多媒体     IT公司
· 在JBoss下配置mySQL数据源
· Windows XP系统下安装apache+php+mysql…
· 声卡没声音...多媒体音频控制器有个感叹号
· 5700能在多媒体里创建新文件夹吗?
· 做一个多媒体大厅的工程
· 彩色画报、彩色电视属于多媒体吗?
· 存容量和多媒体扩展卡有么区别
· 1.计算机图像处理:
· 问用什么工具制作多媒体课件最简单?
· 家里电器一开,多媒体音响就会“响
· 家里电器一开,多媒体音响就会“咔响
· 哪个笔记本适合做多媒体呀
· 谁有SONY笔记本电脑的多媒体视频采集卡驱动下载
· 笔记本多媒体卡槽坏了
· 笔记本多媒体卡
· N95多媒体打开怎么显示无图象?急
· 日语翻译 以及关于多媒体与电影 的资料…
· 诺基亚n73储存卡上的铃声图片怎么导入多媒体
· 怎样在网页中加入多媒体播放
· 素个菜鸟不知道SQL数据库怎么建
  操作系统        资源共享        笔记本电脑
· 我想知道2M电信宽带 能带动3台机子玩劲舞或者别的游戏吗?…
· 网通2M宽带3台电脑共用网速慢吗?晚上7点至10点,,,,,会不会很卡??…
· 我安装了LAN,家里3台电脑能同时上网么?
· 在不需要交换器或者集线器的情况下,如何组建一个3台机子的局域网…
· 我们寝室3台电脑,一条线,一个猫,一个交换器,怎样设置才能让3台电…
· 3台计算机,每个机子都有网卡,使用一个交换器上网,请问如何建立…
· 请问如何建立局域网5
· 两台不能上网的电脑如何建立局域网
· 如何建立局域网资源共享
· 想把资源共享到因特网,校内这台计算机做临时服务器,该如何设置…
· 如何资源共享?
· 无论距离远近,两电脑间都可以实现资源共享吗?
· 并发进程在访问共享资源时,不可能出现与时间有关的错误”对吗?
· 网上共享的资源有硬件,软件,文件对吗?
· 资源共享可分为软件、硬件和数据资源对吗?
· 笔记本电脑长时间不用,电池的电量是充满呢,还是放空啊?
· 笔记本电脑在多少度下不易长时间运行?
· 笔记本一边充电一边用就会死机是怎么回事?
· 笔记本电脑安装了摄像头怎么老死机啊
· 笔记本电脑经常死机是怎么回事
  编程 汇编语言 C VB VC C#.NET 其他语言 JAVA相关
· vb.net中使用GetPrivateProfileString访问INI文件
· struts框架基础指导?
· 如何正确理解PHP程序错误信息的表示含义
· 老牌经典编程语言PHP的优缺点
· JForum 的 SSO集成的问题解决方法…
· 新手学堂 PHP服务器变量设置的方法介绍…
· 用Rational设计和实现简单的电话簿程序
· C#中正则表达式进行忽略大小写的字符串替换
· F#成为Visual Studio的上等公民…
· java运行库和JDK、java虚拟机有什么区别!
· 我装jdk-java虚拟机,为什么装到一半就自动退出呢
· jdk java虚拟机…
· java 的布局方式有什么特点…
· java 的编译问题…
· java线程简单编程
· java 小程序出错 各位大哥,帮 我。…
· java 小程序请教·…
· Java 小程序返回值问题…
· 帮忙编下JAVA 小程序 谢谢了…
· 可以用javac编译,但在用java运行时却显示出错.
网站简介 | 网站地图 | 网站导航 | 友情链接 | 广告业务 | 联系我们
电脑爱好者版权所有Copyright © 2005-2008 www.cfan.net.cn All rights reserved. 冀ICP备06001745号
电脑爱好者 www.cfan.net.cn
电脑爱好者
友情链接: