难道书上写错了?!
近日看清华出的“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编程么?