解决方案 »

  1.   

    工程建错了,选win32别选控制台
      

  2.   

    我选的是win32项目,不是控制台。何解?
      

  3.   

    #include <iostream>
    #include <windows.h>
    #include <stdio.h>LRESULT CALLBACK WinSunProc(
    HWND hwnd,      // handle to window
    UINT uMsg,      // message identifier
    WPARAM wParam,  // first message parameter
    LPARAM lParam   // second message parameter
    );int WINAPI _tWinMain(
       HINSTANCE hInstance,      // handle to current instance
       HINSTANCE hPrevInstance,  // handle to previous instance
       LPTSTR lpCmdLine,          // command line
       int nCmdShow              // show state
       )
    {
    WNDCLASS wndcls;
    wndcls.cbClsExtra=0;
    wndcls.cbWndExtra=0;
    wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
    wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);
    wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);
    wndcls.hInstance=hInstance;
    wndcls.lpfnWndProc=WinSunProc;
    wndcls.lpszClassName=_T("sunxin2006");
    wndcls.lpszMenuName=NULL;
    wndcls.style=CS_HREDRAW | CS_VREDRAW;
    RegisterClass(&wndcls); HWND hwnd;
    hwnd=CreateWindow(_T("sunxin2006"),_T("http://www.sunxin.org"),WS_OVERLAPPEDWINDOW,
    0,0,600,400,NULL,NULL,hInstance,NULL); ShowWindow(hwnd,SW_SHOWNORMAL);
    UpdateWindow(hwnd); MSG msg;
    while(GetMessage(&msg,NULL,0,0))
    {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
    }
    return msg.wParam;
    }LRESULT CALLBACK WinSunProc(
    HWND hwnd,      // handle to window
    UINT uMsg,      // message identifier
    WPARAM wParam,  // first message parameter
    LPARAM lParam   // second message parameter
    )
    {
    switch(uMsg)
    {
    case WM_CHAR:
    {
    TCHAR szChar[20];
    _stprintf(szChar, _T("char code is %d"),wParam);
    MessageBox(hwnd,szChar, _T("char"),0);
    }
    break;
    case WM_LBUTTONDOWN:
    MessageBox(hwnd,_T("mouse clicked"),_T("message"),0);
    HDC hdc;
    hdc=GetDC(hwnd);
    TextOut(hdc,0,50,_T("程序员之家"),_tcslen(_T("程序员之家")));
    //ReleaseDC(hwnd,hdc);
    break;
    case WM_PAINT:
    HDC hDC;
    PAINTSTRUCT ps;
    hDC=BeginPaint(hwnd,&ps);
    TextOut(hDC,0,0,_T("http://www.sunxin.org"),_tcslen(_T("http://www.sunxin.org")));
    EndPaint(hwnd,&ps);
    break;
    case WM_CLOSE:
    if(IDYES==MessageBox(hwnd,_T("是否真的结束?"),_T("message"),MB_YESNO))
    {
    DestroyWindow(hwnd);
    }
    break;
    case WM_DESTROY:
    PostQuitMessage(0);
    break;
    default:
    return DefWindowProc(hwnd,uMsg,wParam,lParam);
    }
    return 0;
    }工程选择创建Win32 Application
      

  4.   

    @VisualEleven,你的这个程序运行出现如下错误:>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
      

  5.   

    @VisualEleven,更改了嵌入式清单后,还是出现如下错误:
    1>WainMain1.obj : error LNK2019: 无法解析的外部符号 @_RTC_CheckStackVars@8,该符号在函数 _wWinMain@16 中被引用
    1>WainMain1.obj : error LNK2019: 无法解析的外部符号 __RTC_CheckEsp,该符号在函数 _wWinMain@16 中被引用
    1>WainMain1.obj : error LNK2001: 无法解析的外部符号 __RTC_Shutdown
    1>WainMain1.obj : error LNK2001: 无法解析的外部符号 __RTC_InitBase
    1>WainMain1.obj : error LNK2019: 无法解析的外部符号 __imp__wcslen,该符号在函数 "long __stdcall WinSunProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WinSunProc@@YGJPAUHWND__@@IIJ@Z) 中被引用
    1>WainMain1.obj : error LNK2019: 无法解析的外部符号 __imp___swprintf,该符号在函数 "long __stdcall WinSunProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WinSunProc@@YGJPAUHWND__@@IIJ@Z) 中被引用
    1>WainMain1.obj : error LNK2019: 无法解析的外部符号 ___security_cookie,该符号在函数 "long __stdcall WinSunProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WinSunProc@@YGJPAUHWND__@@IIJ@Z) 中被引用
    1>WainMain1.obj : error LNK2019: 无法解析的外部符号 @__security_check_cookie@4,该符号在函数 "long __stdcall WinSunProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WinSunProc@@YGJPAUHWND__@@IIJ@Z) 中被引用
    1>LINK : error LNK2001: 无法解析的外部符号 _wWinMainCRTStartup
    1>D:\VisualStudio2010\Project\WinMain1\Debug\WinMain1.exe : fatal error LNK1120: 9 个无法解析的外部命令
      

  6.   

    我用VS2008SP1编译没有问题,Win32 Application,Unicode编码
      

  7.   

    这个东西是vc++ 6.0的例子,在那上面没有问题,在visual studio2010上有问题。其实关于版本的问题,没有多大意义的吧。
    @VisualEleven谢谢你的回答!