难道书上写错了?!

13seele 2001-02-28 12:38:00
近日看清华出的“windows编程“,运行它的第一个程序就有错,希望各位看看是怎么回事
#include <windows.h>

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
char *szWinName="Win95Main";

int WINAPI WinMain(HINSTANCE hThisInst,HINSTANCE hPrevInst,PSTR pszCmdLine,int nCmdShow)
{
HWND hwnd;
MSG uMsg;
WNDCLASS wndclass;
wndclass.style=0;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.hInstance=hThisInst;
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName=szWinName;
RegisterClass(&wndclass);

hwnd=CreateWindow(szWinName,"Windows95 API",WS_OVERLAPPEDWINDOW|WS_HSCROLL|WS_VSCROLL,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hThisInst,NULL);

ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);

while(GetMessage(&uMsg,NULL,0,0)){
TranslateMessage(&uMsg);
DispatchMessage(&uMsg);
}
return uMsg.wParam;
}

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)

{
switch(message){
case WM_HSCROLL:
case WM_VSCROLL:
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
}

在两台机器上运行以后都毫无反应,倒是按Ctrl+Alt+Del看任务列表可以看到这个任务正在运行,我想是
showwindow有问题,但左改右改窗口都出不来,只好麻烦各位了。另外问一句,这是windows API编程么?


...全文
148 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
iamwjp 2001-02-28
  • 打赏
  • 举报
回复
wndclass.hbrBackground =加(HBRUSH)才能编译通过 GetStockObject(WHITE_BRUSH);
iamwjp 2001-02-28
  • 打赏
  • 举报
回复
我靠,调了半天发现少了一行 wndclass.cbWndExtra = 0;
气疯了。
iamwjp 2001-02-28
  • 打赏
  • 举报
回复
这位兄台请了。
的确是API编程。
只是想问一下,上面的Code能编译通过吗?
Sam_Yang 2001-02-28
  • 打赏
  • 举报
回复
creatwindow 没有指明注册的窗口类的名字
gongxy 2001-02-28
  • 打赏
  • 举报
回复
WNDCLASS wndclass;
memset(&wndclass,0,sizeof(wndclass));
wndclass.style=0;
wjf 2001-02-28
  • 打赏
  • 举报
回复
fist, be sure CreateWindow return a valid windows handle.
That window should be found by use spyxx on that process.

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧