我现在手上有一个程序,是用C来编写的,程序之中已经使用了UNICODE统一编码,函数也是用的支持UNICODE统一编码的函数,在程序里面如果用MessageBox也会返回一串中文,是完全正确的,但是菜单如果改为中文,就会变为乱码,我尝试用cmenu类重新创建加载菜单时,因为cmenu是MFC封装的类,在VC程序中完全没有问题,小弟试过,但是在C开发的程式中就不行,我已经把头文件加载进来了!!
   还有中文路径,有时可以,有时就会出问题,不知道为什么?
   那一位大哥可以帮小弟想一下方法,我不胜感激!

解决方案 »

  1.   

    This is a complex problem, but you can try to use most new C runtime libirary to link your project.
      

  2.   

    使用了UNICODE统一编码那就应该可以正常使用汉字 ...
      

  3.   

    确认你操作的时候,
    使用的是 UNICODE 版本的函数,
    而不是 ANSI 版本的 ...否则就会乱码。
      

  4.   

    的确是UNICODE函数,我已经完全查过了,关键是加载菜单,菜单会变为乱码,这里没有UNICODE函数可以使用阿,LoadMenu (hInstance, MAKEINTRESOURCE(ID_MAINMENU)) ;菜单是已经做好的!
      

  5.   

    most new C runtime libirary ?那里可以弄到,我现在是在VC++的平台下运行这个源程序的啊,这里面的 C编译器难道还不是最新的吗?
      

  6.   

    Most of you send your project to me.
    e-mail:[email protected]
      

  7.   

    I mean you please pack your project as Zipped file to me.
    Please first ensure it should be comiplied.
      

  8.   

    真的不好意思,源程序是不能外传的,公司不允许!!!!请问一下,除了使用Cmenu类创建,修改菜单之外,还有什么方法,我看MSDN上,没有找到别的方法,不知道那位大哥可以提示一下!我想用代码的方式把菜单重新加载一下,使用Unicode 统一编码,这样就应该没有问题了,但是我没有找到C编译器支持的创建修改菜单的方法!
      

  9.   

    你定义两个预定义宏 UNICODE,_UNICODE.
    否则你调用的API可能是ANSI的,混乱使用是会出乱码的.