📄 subject_17525.htm
字号:
<p>
序号:17525 发表者:odq 发表日期:2002-10-12 17:39:03
<br>主题:请高手帮我看看这段代码哪里有错了(这是一个SDK的最小程序)
<br>内容:#include <windows.h><BR>INT PASCAL WinMain(HINSTANCE,HINSTANCE,LPSTR,INT); <BR>LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); <BR>HINSTANCE myhInst; <BR>char szAppName[]="WinAPIDemo"; <BR>char szAppTitle[]="A Application use Windows API"; <BR>INT PASCAL WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd) <BR>{ <BR>HWND hMainwnd; <BR>MSG message; <BR>WNDCLASS myWC; <BR>if(!hPrevInstance) <BR>{ <BR>myWC.style=CS_HREDRAW|CS_VREDRAW; <BR>myWC.lpfnWndProc=WndProc; <BR>myWC.cbClsExtra=0; <BR>myWC.cbWndExtra=0; <BR>myWC.hInstance=hInstance; <BR>myWC.hIcon=LoadIcon(NULL,IDI_APPLICATION); <BR>myWC.hCursor=LoadCursor(NULL,IDC_ARROW); <BR>myWC.hbrBackground=GetStockObject(WHITE_BRUSH); <BR>myWC.lpszClassName=NULL; <BR>myWC.lpszMenuName=szAppName; <BR>RegisterClass(&myWC); <BR>} <BR>hMainwnd=CreateWindow(szAppName,szAppTitle,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL); <BR>ShowWindow(hMainwnd,SW_SHOWMAXIMIZED); <BR>UpdateWindow(hMainwnd); <BR>while(GetMessage(&message,NULL,0,0)) <BR>{ <BR>TranslateMessage(&message); <BR>DispatchMessage(&message); <BR>} <BR>return message.wParam; <BR>} <BR>LRESULT CALLBACK WndProc(HWND hMainwnd,UINT message,WPARAM wParam,LPARAM lParam) <BR>{ <BR>char messageLeft[]="This is demo program using API.\n""The left mouse button have been pressed!"; <BR>char messageRight[]="This is demo program using API.\n" "The reight mouse button have been pressed!"; <BR>switch(message) <BR>{ <BR>case WM_RBUTTONDOWN: <BR>{ <BR>MessageBeep(MB_ICONINFORMATION); <BR>MessageBox(GetFocus(),messageRight,"Message",MB_OK|MB_ICONINFORMATION); <BR>break; <BR>} <BR>case WM_LBUTTONDOWN: <BR>{ <BR>MessageBeep(MB_ICONINFORMATION); <BR>MessageBox(GetFocus(),messageLeft,"Message",MB_OK|MB_ICONINFORMATION); <BR>break; <BR>} <BR>case WM_DESTROY: <BR>{ <BR>PostQuitMessage(0); <BR>return 0; <BR>} <BR>default: <BR>break; <BR>} <BR>return DefWindowProc(hMainwnd,message,wParam,lParam); <BR>} <BR>我在这的机子上运行,连一个窗口的毛都没看到,急死我了 ♂
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:黄飚 回复日期:2002-10-12 22:10:46
<br>内容:switch(message) 是不是少了WM_ONPAINT的消息(手里没有VC,不知道这个消息的具体拼法)<BR>{ <BR>case WM_RBUTTONDOWN: <BR>{ <BR>MessageBeep(MB_ICONINFORMATION); <BR>MessageBox(GetFocus(),messageRight,"Message",MB_OK|MB_ICONINFORMATION); <BR>break; <BR>} <BR>case WM_LBUTTONDOWN: <BR>{ <BR>MessageBeep(MB_ICONINFORMATION); <BR>MessageBox(GetFocus(),messageLeft,"Message",MB_OK|MB_ICONINFORMATION); <BR>break; <BR>} <BR>case WM_DESTROY: <BR>{ <BR>PostQuitMessage(0); <BR>return 0; <BR>} <BR>default: <BR>break; <BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:菜鸟 回复日期:2002-10-13 01:15:33
<br>内容:myWC.lpszClassName=NULL; <BR>myWC.lpszMenuName=szAppName; <BR>这里错了!<BR>应该是:<BR>myWC.lpszClassName=szAppName; <BR>myWC.lpszMenuName=NULL; <BR>此外:<BR>RegisterClass(&myWC); 我建议你写成<BR>if(!RegisterClass(&myWC))<BR>{<BR> MessageBox(NULL,TEXT("ERROR"),szAppName,MB_ICONERROR);<BR> return 0;<BR>}<BR>这样有没有注册你才会知道!<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:菜鸟 回复日期:2002-10-13 01:18:55
<br>内容:我想问一下INT PASCAL WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd) <BR>中的PASCAL是什么?<BR>还有myWC.hbrBackground=GetStockObject(WHITE_BRUSH); <BR>好象要改成myWC.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:odq 回复日期:2002-10-13 20:25:55
<br>内容:感谢你们的回复,我调试成功后就给你加分, 。。如果有什么问题我再提, 那时又要劳烦你们。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:hxu 回复日期:2002-10-14 01:21:18
<br>内容:in windef.h <BR>#define PASCAL __stdcall
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:odq 回复日期:2002-10-14 11:29:47
<br>内容:调试已通过,感谢菜鸟, 也麻烦黄飚 了.♂<BR>2002-10-14 11:30:37
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -