刚照书敲了一个简单的windows窗口程序怎么运行程序的时候,系统进程里有这个程序的运行,但是看不到窗口啊生成的exe文件 点击了也是一样结果,看不到窗口崩溃中~~~~~~~~

解决方案 »

  1.   

    #include "stdafx.h"
    int _tmain(int argc, _TCHAR* argv[])
    {
    return 0;
    }
    #include<windows.h>
    #include<iostream>
    using namespace std;LRESULT CALLBACK WindowProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
    {
    WNDCLASS wndclass; wndclass.cbClsExtra=0;

    wndclass.cbWndExtra=0;

    wndclass.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);

    wndclass.hCursor=LoadCursor(NULL,IDC_CROSS);

    wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION); wndclass.hInstance=hInstance; wndclass.lpfnWndProc=WindowProc; wndclass.lpszClassName=TEXT("chwei"); wndclass.lpszMenuName=NULL; wndclass.style=CS_HREDRAW|CS_VREDRAW; HWND hWnd; hWnd=CreateWindow(TEXT("chwei"),TEXT("我的第一个windows程序"),WS_OVERLAPPEDWINDOW,               CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,   NULL,NULL,hInstance,NULL); RegisterClass(&wndclass); ShowWindow(hWnd,SW_SHOWNORMAL); UpdateWindow(hWnd); MSG msg; while(GetMessage(&msg,hWnd,0,0))
    {
    TranslateMessage(&msg);

    DispatchMessage(&msg);
    }
        
    system("pause");
    return 0;
    }LRESULT CALLBACK WindowProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
    {
    switch(uMsg)
    {
    case WM_CHAR:

    char szChar[20];

    sprintf_s(szChar,TEXT("char is %d."),wParam);

    MessageBox(hWnd,szChar,TEXT("MessageBox"),MB_OK); break; case WM_LBUTTONDOWN: MessageBox(hWnd,TEXT("mouse clicked"),TEXT("MessageBox"),0); HDC hDC; hDC=GetDC(hWnd); TextOut(hDC,0,50,TEXT("我的第一个windows程序"),sizeof("我的第一个windows程序")); ReleaseDC(hWnd,hDC); break; case WM_PAINT:        PAINTSTRUCT ps; HDC hdc; hdc=BeginPaint(hWnd,&ps); TextOut(hdc,0,0,TEXT("这是我的第一个windows程序"),sizeof("这是我的第一个windows程序")); EndPaint(hWnd,&ps); break; case WM_CLOSE:
    if(IDYES==MessageBox(hWnd,TEXT("是否退出程序"),TEXT("chwei"),MB_YESNO))
    {
    DestroyWindow(hWnd);
    }
        
    case WM_DESTROY:
    PostQuitMessage(0); default:
    return DefWindowProc(hWnd,uMsg,wParam,lParam);
        } return 0;
    }
    书上的代码 没人碰到这个问题吗
      

  2.   

    我知道是什么问题. RegisterClass(&wndclass); 放在CreateWindow()后面了, 所以show出来的窗口不是意料中的..
      

  3.   

    我知道是什么问题. RegisterClass(&wndclass); 放在CreateWindow()后面了, 所以show出来的窗口不是意料中的..
    呵呵 正解节约用分,哈哈