在Win2000下用vc开发了一个应用程序,为了使该应用程序支持UCS2字符的输入输出,开发时在VC Project Settings -> C/C++ Tag ->Preprocessor Definitions中加入了_UNICODE参数,使得应用程序的后台字符系统成了_UNICODE模式。该程序在Win2000下运行良好,但在Win98下一旦运行就出现“该程序出现了非法操作,即将关闭。”,无法运行。现知道其原因是Win98不支持_UNICODE字符系统。请教各位大侠,有没有办法在Win98下通过安装service package或者其他方式使得俺的程序能够正确运行并继续支持UCS2字符的输入输出?另外,为了支持UCS2字符的输入输出是否必须在Project settings里采用_UNICOCDE系统?总之,想在98下运行可以支持UCS2字符输入输出的应用程序是否可能,怎么做?谢谢!!

解决方案 »

  1.   

    补充刚才的98下UNICODE的问题:我们在微软的网站上找到了一个MSLU连接库,说是可以使得UNICODE程序运行在Win 9x上,我们已经下载了DLL和LIB库,但不知道怎么用。MSLU -- a Microsoft Layer for Unicode on Windows 95, 98, and Me systems -- helps to provide a layer over the Win32 API on Win9x so that developers can write a single Unicode version of their applications. 有没有知道的大侠指教一二,急,甚是感谢!!
      

  2.   

    win98不支持unicode,好像没听说可以装pack解决此问题,它的内核没处理,应该没办法。它将unicode的调用转成了单字节的形式再调用内核函数。只有少数几个函数没有unicode的版本形式,大部分工作起来应该也是没什么问题的。vc加上_UNICOCDE宏就可以以unicode形式生成可执行文件,当然你的代码要以unicode形式处理字串。找到是什么地方出的错,改代码是唯一的方法。
      

  3.   

    MSLU连接库 ? 这我就不清楚了。
      

  4.   

    MSDN中可以找到这个DLL的使用方法:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mslu/winprog/compiling_your_application_with_the_microsoft_layer_for_unicode.asp