解决方案 »

  1.   

    试试 LoadString(NULL, ...)
      

  2.   

    GetLastError() 的返回值是什么?
      

  3.   

    是不是与编码有关啊,ANSI 和UNICODE,VC6工程默认是ANSI,因此TCHAR X是否定义的太小了,另外还得手工为字符串加上结束符
      

  4.   

    VC6使用UNICODE
    1 为工程添加UNICODE和_UNICODE预处理选项:打开[工程]->[设置…]对话框,在C/C++标签对话框的“预处理程序定义”中去除_MBCS,加上_UNICODE,UNICODE。(注意中间用逗号隔开).在没有定义UNICODE和_UNICODE前,所有函数和类型都默认使用ANSI的版本;在定义了UNICODE和_UNICODE之后,所有的MFC类和Windows API都变成了宽字节版本了。
     2 设置程序入口点:因为MFC应用程序有针对Unicode专用的程序入口点,我们要设置entry point。否则就会出现连接错误。设置entry point的方法是:打开[工程]->[设置…]对话框,在Link页的Output类别的Entry Point里填上wWinMainCRTStartup。
      

  5.   

    还是不行,我在网上搜了,原因好像是因为只定义了string table,没有加进去,你知不知怎么把定义的资源加进去呀
      

  6.   

    #include<windows.h>
    #include"resource.h"
    int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                        PSTR szCmdLine, int nShowCmd)
    {
    TCHAR X[20],p[30];
    LoadString(hInstance,IDS_STRING1,X,20);
    wsprintf(p,"%d",GetLastError());
    MessageBox(NULL,p,
       TEXT("WARNING!"),MB_ICONWARNING);
    return 0;
    }
    显示1812,不解原因~