vc++6.0进行API编程?

请问高手,用vc++6.0进行API编程,我打开vc->新建->选win32application->填好工程名称,位置->选anemptyproject->此时代码区是... 请问高手,用vc++6.0进行API编程,我打开vc->新建->选win32 application->填好工程名称,位置->选an empty project->
此时代码区是灰色的,再新建一个文件->代码区变成白色,把以下代码放进去:
#include<windows.h>
LPCTSTR lpszAppName=TEXT("my app");
LPCTSTR lpszTitle=TEXT("my application");
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,int nCmdShow)
{
MSG msg;
HWND hWnd;
WNDCLASS wc;
wc.style=CS_HREDRAW|CS_VREDRAW;
wc.lpfnWndProc=(WNDPROC)WndProc;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hInstance=hInstance;
wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wc.hIcon=LoadCursor(NULL,IDC_ARROW);
wc.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName=lpszAppName;
wc.lpszClassName=lpszAppName;
if(!RegisterClass(&wc))
return (FALSE);
hWnd=CreateWindow(lpszAppName,lpszTitle,WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL
);
if(!hWnd)
return (FALSE);
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
while (GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return (msg.wParam);
}
LRESULT CALLBACK WndProc(HWND hWnd,UINT uMsg,WPARAM wParam,
LPARAM lParam)
{
RECT rect;
HDC hdc;
PAINTSTRUCT ps;
static int uRed=0,uGreen=0,uBlue=0;
switch(uMsg)
{
case WM_PAINT:
hdc=BeginPaint(hWnd,&ps);
GetClientRect(hWnd,&rect);
SetTextColor(hdc,RGB(uRed,uGreen,uBlue));
DrawText(hdc,TEXT("hello,you are welcome"),-1,&rect,
DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hWnd,&ps);
break;
case WM_KEYDOWN:
uRed=rand()%255;
uGreen=rand()%255;
uBlue=rand()%255;
InvalidateRect(hWnd,NULL,TRUE);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}
return(0);
}
编译后没错误,但运行不了(can't excute program),如果按工具栏的"go"按钮的话,就出现了以下情况:
Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found.

Loaded 'C:\WINDOWS\system32\usp10.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\msvcrt.dll', no matching symbolic information found.
The thread 0x490 has exited with code 0 (0x0).
The program 'C:\DOCUMENTS AND SETTINGS\ADMINISTRATOR\桌面\1\Debug\1.exe' has exited with code 0 (0x0).
这是为什么啊,如果程序本身没错的话,要按什么步骤才能编译运行此程序呢
完整的情况如下:Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\user32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\gdi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\shimeng.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\imm32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\advapi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\rpcrt4.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\lpk.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\usp10.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\msvcrt.dll', no matching symbolic information found.
The thread 0x490 has exited with code 0 (0x0)
展开
 我来答
百度网友5d6b5b7
2006-11-20
知道答主
回答量:20
采纳率:0%
帮助的人:0
展开全部
老大,不能让人帮你找这种bug呀。
看看清楚,你的WNDCLASS 对象wc的hIcon属性你Load了几次,你等于没有给hCursor属性赋值,作为一个windows程序,这显然不能注册成功。

应该多自己调试调试,不要总认为自己的问题是天上无双的怪问题。从我的经验看,vc出bug的机会不是没有,但是可能性微乎其微。出了问题多在自己身上找原因,多调试,多观察。找问题也是程序员的必备基本功。
VC程序员
2006-11-29 · TA获得超过245个赞
知道小有建树答主
回答量:82
采纳率:0%
帮助的人:85.5万
展开全部
将这句
wc.hIcon=LoadCursor(NULL,IDC_ARROW);
改成:
wc.hCursor=LoadCursor(NULL,IDC_ARROW);
就可以了。我也试过了!

在调试的时候,在某个位置设置一个“断点(按F9)”,然后按F5键,直接到该断点的位置上,看看有什么问题没有。再按F10,逐步追踪,这样调试,很快就可以找到这个错误了。也可以打开watch窗口进行追踪(打开方法View->Debug Windows->Watch)。在调试模式下才可以出现此窗口。

又有谁不是从未知到已知呢!!!一起进步!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Fixend
2006-11-20 · TA获得超过1978个赞
知道小有建树答主
回答量:710
采纳率:0%
帮助的人:1047万
展开全部
你给出的都是很正常的提示。

你的程序没有显示是因为运行到这句时,不能注册窗口类,也就是说你的窗口类有问题。
if(!RegisterClass(&wc))
return (FALSE); // 运行这句程序就结束了。后面的都没有运行。

我可以肯定你的C和C++学得不好,很容易看出来。你不应这么早就学Win32 API了,不能急进。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
群上调和分析
2006-11-23 · TA获得超过617个赞
知道小有建树答主
回答量:427
采纳率:100%
帮助的人:0
展开全部
wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wc.hIcon=LoadCursor(NULL,IDC_ARROW);
-----------------------------------------
就是这个吧
wc.hCursor=LoadCursor(NULL,IDC_ARROW);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式