使用mciSendString()出现的问题


如果直接这样调用名字带有中文的歌曲能播放:
mciSendString(TEXT("open D:\\B20060619\\MusicPlayer\\songlist\\可惜没如果.wav alias song"), NULL, 0, NULL);
mciSendString(TEXT("play song "), NULL, 0, NULL);
但是如果我把它放在一个函数里面:
        string name = "可惜没如果";
    string name1("open D:\\B20060619\\MusicPlayer\\songlist\\");
    string name2(".wav ");
    string name3("alias song");
    fname = name1 + name + name2 + name3;
    
    LPCWSTR out = stringToLPCWSTR(fname);
    
    mciSendString(out, NULL, 0, NULL);
    mciSendString(TEXT("play song "), NULL, 0, NULL);
这样调用就播放不了,名字是英文的歌曲却能播放的了,中文的就不行,不知道什么原因,求解!急!!

stringToLPCWSTR函数是你自己写的吧?检查一下这个函数是否正确吧