标题:中文路径下使用WritePrivateProfileString时的问题
只看楼主
fily1314
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:166
专家分:1190
注 册:2007-7-18
结帖率:75%
 问题点数:0 回复次数:1 
中文路径下使用WritePrivateProfileString时的问题
'API函数
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" _
            (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, _
            ByVal lpFileName As String) As Int32

如果lpFileName中包含有中文,则连续读几次,lpFileName会发生改变,如下面的情况
    Dim filename As String = "D:\测试中文路径\TestChinesePath\TestChinesePath\bin\Debug\test.ini"

    Private Sub WriteBt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles WriteBt.Click
这里的filename还是正确的
        WritePrivateProfileString("config", "test1", "test1", filename)

从这里开始filename变成了"D:\测试中文路径\TestChinesePath\TestChinesePath\bin\Debug\te"
具体情况可能有所不同,但就是丢掉了一部分
        WritePrivateProfileString("config", "test2", "test1", filename)
        WritePrivateProfileString("config", "test3", "test1", filename)
        WritePrivateProfileString("config", "test4", "test1", filename)
    End Sub

如果把程序放在完全英文路径下就没问题,是不是WritePrivateProfileString函数不支持中文路径的
搜索更多相关主题的帖子: 中文路径 String ByVal quot lpFileName 
2008-03-10 09:38
金凝
Rank: 2
等 级:论坛游民
帖 子:50
专家分:10
注 册:2007-5-19
得分:0 
是的,答案你也猜到了

c#.net sql server 2000(开始为2005做准备了)
2008-03-15 20:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-202730-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.367499 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved