| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1127 人关注过本帖
标题:这个可是我们的老师都不知道的啊你知道吗?
只看楼主 加入收藏
zh672903
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-10-2
收藏
 问题点数:0 回复次数:15 
这个可是我们的老师都不知道的啊你知道吗?
谁知道在VC++中只要有"WINDOWS.H"这个头文件在编译时没有错可是在执行时就有错误,是什么原因?
敬请高手指点一二
搜索更多相关主题的帖子: 老师 
2005-10-23 20:56
盖茨他爹
Rank: 6Rank: 6
等 级:贵宾
威 望:28
帖 子:5255
专家分:0
注 册:2005-5-3
收藏
得分:0 
回去给你老师说:“盖茨他爹让你下岗”
2005-10-23 20:59
zh672903
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-10-2
收藏
得分:0 
那你知道不?知道就说撒
2005-10-23 21:02
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
你的代码中有错.

=×&D o I p R e E n C g T l X&×=
2005-10-23 21:19
zh672903
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-10-2
收藏
得分:0 
不是我的代码有问题啊
这是书上的例子
       已经做了5个不同的题都是这样的啊
在自己的电脑上是这样,在学校的机房也是这样哦
2005-10-23 21:34
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
那你将这个例子贴上来大家喵喵.

=×&D o I p R e E n C g T l X&×=
2005-10-23 21:51
jdytz
Rank: 2
等 级:新手上路
威 望:3
帖 子:104
专家分:0
注 册:2005-4-24
收藏
得分:0 
不清楚怎么回事。,网上翻了一下
windows.h不光是包含了shellapi.h,它还定义了许多数据类型,如果没有这些数据类型,shellapi.h本身会出错。所有的Windows程序都需要包含windows.h,我想你看到的例子可能是片段,编写者假设你已经包含了windows.h。
没看懂,理解的帮忙分析一下

``` 奔放潇洒活着我的自由
2005-10-24 00:38
zh672903
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-10-2
收藏
得分:0 

这是课本的API程序。就是它了: #include<windows.h> #include<stdlib.h> #include<string.h> LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage, UINT wParam,LONG lParam); BOOL InitWindowsClass(HINSTANCE hInstance); BOOL InitWindows(HINSTANCE hInstance,int nCmdShow);

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) { MSG Message; if(! InitWindowsClass(hInstance)) return FALSE; if(! InitWindows(hInstance,nCmdShow)) return FALSE; while(GetMessage(&Message,0,0,0)) { TranslateMessage(&Message); DispatchMessage(&Message); } return Message.wParam; }

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam) { static long nXChar,nCaps,nYChar; HDC hDC; short x; TEXTMETRIC tm; short LnCount=6; PAINTSTRUCT PtStr; static char *textbuf[]= { "This is the first line", "This is the second line", "This is the third line", "This is the fourth line", "this is the fifth line", "this is the sixth line" }; switch(iMessage) { case WM_CREATE: hDC=GetDC(hWnd); GetTextMetrics(hDC,&tm); nXChar=tm.tmAveCharWidth; nYChar=tm.tmHeight+tm.tmExternalLeading; ReleaseDC(hWnd,hDC); return 0; case WM_PAINT: hDC=BeginPaint(hWnd,&PtStr); for( x=0;x<LnCount;x=x+1) TextOut(hDC,nXChar,nYChar*(1+x),textbuf[x],lstrlen(textbuf[x])); EndPaint(hWnd,&PtStr); return 0;

case WM_DESTROY: PostQuitMessage(0); return 0; default: return (DefWindowProc(hWnd,iMessage,wParam,lParam)); } } BOOL InitWindowsClass(HINSTANCE hInstance) { WNDCLASS WndClass; WndClass.cbClsExtra=0; WndClass.cbWndExtra=0; WndClass.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH)); WndClass.hCursor=LoadCursor(NULL,IDC_ARROW); WndClass.hIcon=LoadIcon(NULL,"END"); WndClass.hInstance=hInstance; WndClass.lpfnWndProc=WndProc; WndClass.lpszClassName="WinText"; WndClass.lpszMenuName=NULL; WndClass.style=CS_HREDRAW|CS_VREDRAW; return RegisterClass(&WndClass); } BOOL InitWindows (HINSTANCE hInstance,int nCmdShow) { HWND hWnd; hWnd=CreateWindow("WinText", "文本显示例程序", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); if (! hWnd) return FALSE; ShowWindow(hWnd,nCmdShow); UpdateWindow(hWnd); return TRUE; }

2005-10-26 23:00
zh672903
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-10-2
收藏
得分:0 

另外还有: #include<windows.h> #include<stdlib.h> #include<string.h> BOOL InitWindowsClass(HINSTANCE hInstance); BOOL InitWindows(HINSTANCE hInstance,int nCmdShow); int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdline,int nCmdShow) { MSG Message; if(! InitWindowsClass(hInstance)) return FALSE; if (! InitWindows(hInstance,nCmdShow)) return FALSE; while(GetMessage(&Message,0,0,0)) { TranslateMessage(&Message); DispatchMessage(&Message); } return Message.wParam; }

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage, UINT wParam,LONG lParam) { WORD x,y; HCURSOR hCursor; switch(iMessage) { case WM_MOUSEMOVE: x=LOWORD(lParam); y=HIWORD(lParam); if (x>=50&&x<=400&&y>=50&&y<=300) { if (x>=50&&x<=100&&y>=50&&y<=100) { hCursor=LoadCursor(NULL,IDC_CROSS); SetCursor(hCursor); }

if (x>=150&&x<=2000&&y>=50&&y<=100) { hCursor=LoadCursor(NULL,IDC_HELP); SetCursor(hCursor); } if (x>=50&&x<=100&&y>=100&&y<=150) { hCursor=LoadCursor(NULL,IDC_SIZENESW); SetCursor(hCursor); } if (x>=100&&x<=250&&y>=100&&y<=150) { hCursor=LoadCursor(NULL,IDC_SIZENS); SetCursor(hCursor); } if (x>=250&&x<=400&&y>=100&&y<=150) { hCursor=LoadCursor(NULL,IDC_SIZENWSE); SetCursor(hCursor); } if (x>=100&&x<=150&&y>=150&&y<=300) { hCursor=LoadCursor(NULL,IDC_SIZEWE); SetCursor(hCursor); } if (x>=100&&x<=250&&y>=150&&y<=300) { hCursor=LoadCursor(NULL,IDC_UPARROW); SetCursor(hCursor); } if (x>=250&&x<=400&&y>=150&&y<=300) { hCursor=LoadCursor(NULL,IDC_WAIT); SetCursor(hCursor); } /*if (x>=100&&x<=150&&y>=50&&y<=100) { hCursor=LoadCursor(NULL,IDC_SIZEALL); SetCursor(hCursor); } if (x>=100&&x<=150&&y>=50&&y<=100) { hCursor=LoadCursor(NULL,IDC_SIZEALL); SetCursor(hCursor); }*/ } else { hCursor=LoadCursor(NULL,IDC_ARROW); SetCursor(hCursor); } return 0; case WM_DESTROY: PostQuitMessage(0); return 0; default: return(DefWindowProc(hWnd,iMessage,wParam,lParam)); }

}

BOOL InitWindowProc(HINSTANCE hInstance) { WNDCLASS WndClass; WndClass.cbClsExtra=0; WndClass.cbWndExtra=0; WndClass.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH)); WndClass.hCursor=LoadCursor(NULL,IDC_ARROW); WndClass.hIcon=LoadIcon(NULL,"END"); WndClass.hInstance=hInstance; WndClass.lpfnWndProc=WndProc; WndClass.lpszClassName="WinMouse"; WndClass.lpszMenuName=NULL; WndClass.style=CS_HREDRAW|CS_VREDRAW; return RegisterClass(&WndClass); }

BOOL InitWindoews(HINSTANCE hInstance,int nCmdShow) { HWND hWnd; hWnd=CreateWindow("WinMouse", "鼠标及光标形状设置及示例", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); if(! hWnd) return FALSE; ShowWindow(hWnd,nCmdShow); UpdateWindow(hWnd); return TRUE; }

2005-10-26 23:02
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
你把#include&lt;windows.h&gt;换成#include "stdafx.h"我保证OK!(不过你建的工程要有这个文件).至于为什么会这样你再好好分析分析吧!

[此贴子已经被作者于2005-10-27 15:25:51编辑过]



=×&D o I p R e E n C g T l X&×=
2005-10-27 15:24
快速回复:这个可是我们的老师都不知道的啊你知道吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018642 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved