零度C 发表于 2014-12-11 23:26:44

/大哭。。关于“003窗口!窗口”提示(需要在win NT 中才能执行)

本帖最后由 零度C 于 2014-12-12 00:08 编辑

{:1_1:}对着源码敲出来的,麻烦兄弟姐妹们帮忙看下这代码里哪里出错了?


#include <windows.h>

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)
{
      static TCHAR szAppName[] = TEXT("MyWindows");
      HWND hwnd;
      MSG msg;
      WNDCLASS wndclass;
      
      wndclass.style = CS_HREDRAW |CS_VREDRAW;
      wndclass.lpfnWndProc = WndProc;
      wndclass.cbClsExtra = 0;
      wndclass.hInstance = hInstance;
      wndclass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
      wndclass.hCursor = LoadCursor(NULL,IDC_ARROW);
      wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
      wndclass.lpszMenuName = NULL;
      wndclass.lpszClassName = szAppName;
      
      if(!RegisterClass (&wndclass))
      {
                MessageBox(NULL,TEXT("这个程序需要在windows NT才能执行!"),szAppName,MB_ICONERROR);
                return 0;
      }
      
      hwnd = CreateWindow(szAppName,
                TEXT("鱼C工作室"),
                WS_OVERLAPPEDWINDOW,
                CW_USEDEFAULT,
                CW_USEDEFAULT,
                CW_USEDEFAULT,
                CW_USEDEFAULT,
                NULL,
                NULL,
                hInstance,
                NULL);
               
      ShowWindow(hwnd,iCmdShow);
      UpdateWindow(hwnd);
      
      while (GetMessage(&msg,NULL,0,0))
      {
                TranslateMessage(&msg);
                DispatchMessage(&msg);
      }
      
      return msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
      HDC hdc;
      PAINTSTRUCT ps;
      RECT rect;
      
      switch(message)
      {
                case WM_PAINT:
                hdc = BeginPaint(hwnd,&ps);
                GetClientRect(hwnd,&rect);
                DrawText(hdc,TEXT("大家好,这是我的第一个窗口程序!"),-1,&rect,
                        DT_SINGLELINE | DT_CENTER | DT_VCENTER);
                EndPaint(hwnd,&ps);
                return 0;
               
         case WM_DESTROY:
                PostQuitMessage(0);
                return 0;
      }
      return DefWindowProc(hwnd,message,wParam,lParam);
}





零度C 发表于 2014-12-11 23:46:54

:mad:在线等。。

旁门左道ゝ 发表于 2014-12-11 23:52:56

        wndclass.style = CS_HREDRAW | CS_VREDRAW;
        wndclass.lpfnWndProc = WndProc;
        wndclass.cbClsExtra = 0;
        //wndclass.cbWndExtra = 0;//少了这个
        wndclass.hInstance = hInstance;
        wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
        wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
        wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
        wndclass.lpszMenuName = NULL;
        wndclass.lpszClassName = szAppName;

零度C 发表于 2014-12-12 00:00:10

旁门左道ゝ 发表于 2014-12-11 23:52
wndclass.style = CS_HREDRAW | CS_VREDRAW;
        wndclass.lpfnWndProc = WndProc;
        wndclass.cbClsExtra = ...

:lol:辛苦辛苦。。。太感谢了。整了大半天都找不出哪里出的问题。

wljlwyq 发表于 2014-12-12 12:56:34

分享给大家我写的一个基于MFC的WEB浏览器
网址http://www.netfairy.net/

智商是硬伤 发表于 2015-9-4 09:35:12

{:7_146:}
页: [1]
查看完整版本: /大哭。。关于“003窗口!窗口”提示(需要在win NT 中才能执行)