求一个 windows程序设计实例 用C写的API,要在VC++6.0下实现,只是一个小程序,能运行的,要有界面 80
比如迷宫,简单的音乐播放器,小游戏什么的,像俄罗斯方块,五子棋这些太复杂的就不用了,紧急求助啊,完整能用的,我再追加分紧急求助啊,大神们进来看看帮帮忙哎发我邮箱也可以25...
比如迷宫,简单的音乐播放器,小游戏什么的,像俄罗斯方块,五子棋这些太复杂的就不用了,紧急求助啊,完整能用的,我再追加分
紧急求助啊,大神们进来看看帮帮忙哎
发我邮箱也可以
252141814@qq.com 展开
紧急求助啊,大神们进来看看帮帮忙哎
发我邮箱也可以
252141814@qq.com 展开
1个回答
展开全部
#include <windows.h> //windows程序设计必须要包含的头文件
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; //回调函数的声明,将在wndclass.lpfnWndProc = WndProc;中用到
//主函数即入口函数
int WINAPI WinMain (HINSTANCE hInstance, //实例句柄
HINSTANCE hPrevInstance,//上一个实例句柄
PSTR szCmdLine, //指向一个0结尾的字符串
int iCmdShow) //窗口开始的大小
{
static TCHAR szAppName[] = TEXT ("HelloWin") ; //将"HelloWin"赋给szAppName[]
HWND hwnd ; //定义一个窗口句柄,用来标识窗口
MSG msg ; //定义一个消息结构体,该结构体包含消息的几个数据
WNDCLASS wndclass ; //定义一个窗口类,该窗口类也是个结构体,下面的语句是修改结构体数据
wndclass.style = CS_HREDRAW | CS_VREDRAW ; //窗口绘制模式为水平重绘和垂直重绘
wndclass.lpfnWndProc = WndProc ; //回调函数为一开始申明的函数
wndclass.cbClsExtra = 0 ; //类的附加内存(额外的),不需要就设为0
wndclass.cbWndExtra = 0 ; //窗口的附加内存,同上
wndclass.hInstance = hInstance ;// 当前实例为系统传递过来的实例,只能是这样,其它系统帮你做好了
wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ; //加载ICON图标,NULL加载系统的图标,第二个参数使系统里面图标的一个标识
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ; //同上,不过是加载光标
wndclass.hbrBackground= (HBRUSH) GetStockObject (WHITE_BRUSH) ;// 设置窗口背景为白色
wndclass.lpszMenuName = NULL ; //因为没有菜单,所以设为空
wndclass.lpszClassName= szAppName ; //你为你设计的这个窗口类取个名字,在hwnd = CreateWindow(中用到
if (!RegisterClass (&wndclass)) //注册你刚刚设计好的窗口
{
//注册不成功,弹出消息框,显示引号里文字
MessageBox ( NULL, //通常是窗口句柄
TEXT ("This program requires Windows NT!"), //消息框显示的文字
szAppName, //题列上的字符串
MB_ICONERROR) ; //消息框的按钮
return 0 ;
}
//创建窗口
hwnd = CreateWindow( szAppName, // window class name 窗口类的名字
TEXT ("The Hello Program"), // window caption 窗口的标题
WS_OVERLAPPEDWINDOW, // window style 窗口的风格
CW_USEDEFAULT,// initial x position 默认的窗口左上角的X、Y点
CW_USEDEFAULT,// initial y position
CW_USEDEFAULT,// initial x size 默认窗口显示的宽和高
CW_USEDEFAULT,// initial y size
NULL, // parent window handle 没有父窗口
NULL, // window menu handle 没有菜单、菜单句柄为空
hInstance, // program instance handle 程序当前实例,由系统传递
NULL) ; // creation parameters
ShowWindow (hwnd, iCmdShow) ; //显示窗口
UpdateWindow (hwnd) ; //更新窗口
while (GetMessage (&msg, NULL, 0, 0)) //消息循环,获取消息
{
TranslateMessage (&msg) ; //翻译消息,
DispatchMessage (&msg) ;// 分发消息
}
return msg.wParam ; //返回消息里的一个参数,只有退出程序时该值才为0
}
//回调函数的定义
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdc ; //定义设备上下文句柄
PAINTSTRUCT ps ; //一个结构体
RECT rect ; //定义一个矩形
switch (message)
{
case WM_CREATE: //窗口刚刚创建好时发送的消息
//PlaySound (TEXT ("hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC) ;//播放声音
return 0 ; //返回
case WM_PAINT: //窗口重画时的消息
hdc = BeginPaint (hwnd, &ps) ; //得到设备上下文句柄
GetClientRect (hwnd, &rect) ; //得到当前客户区矩形
DrawText (hdc, TEXT ("Hello, Windows 98!"), -1, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER) ; //输出引号里文字,后面参数定义它输出的方式
EndPaint (hwnd, &ps) ; //释放设备上下文句柄
return 0 ;
case WM_DESTROY: //窗口销毁时的消息
PostQuitMessage (0) ; //退出程序
return 0 ;
}
return DefWindowProc (hwnd, message, wParam, lParam) ; //对没有定义处理方法的消息,系统默认处理
}
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; //回调函数的声明,将在wndclass.lpfnWndProc = WndProc;中用到
//主函数即入口函数
int WINAPI WinMain (HINSTANCE hInstance, //实例句柄
HINSTANCE hPrevInstance,//上一个实例句柄
PSTR szCmdLine, //指向一个0结尾的字符串
int iCmdShow) //窗口开始的大小
{
static TCHAR szAppName[] = TEXT ("HelloWin") ; //将"HelloWin"赋给szAppName[]
HWND hwnd ; //定义一个窗口句柄,用来标识窗口
MSG msg ; //定义一个消息结构体,该结构体包含消息的几个数据
WNDCLASS wndclass ; //定义一个窗口类,该窗口类也是个结构体,下面的语句是修改结构体数据
wndclass.style = CS_HREDRAW | CS_VREDRAW ; //窗口绘制模式为水平重绘和垂直重绘
wndclass.lpfnWndProc = WndProc ; //回调函数为一开始申明的函数
wndclass.cbClsExtra = 0 ; //类的附加内存(额外的),不需要就设为0
wndclass.cbWndExtra = 0 ; //窗口的附加内存,同上
wndclass.hInstance = hInstance ;// 当前实例为系统传递过来的实例,只能是这样,其它系统帮你做好了
wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ; //加载ICON图标,NULL加载系统的图标,第二个参数使系统里面图标的一个标识
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ; //同上,不过是加载光标
wndclass.hbrBackground= (HBRUSH) GetStockObject (WHITE_BRUSH) ;// 设置窗口背景为白色
wndclass.lpszMenuName = NULL ; //因为没有菜单,所以设为空
wndclass.lpszClassName= szAppName ; //你为你设计的这个窗口类取个名字,在hwnd = CreateWindow(中用到
if (!RegisterClass (&wndclass)) //注册你刚刚设计好的窗口
{
//注册不成功,弹出消息框,显示引号里文字
MessageBox ( NULL, //通常是窗口句柄
TEXT ("This program requires Windows NT!"), //消息框显示的文字
szAppName, //题列上的字符串
MB_ICONERROR) ; //消息框的按钮
return 0 ;
}
//创建窗口
hwnd = CreateWindow( szAppName, // window class name 窗口类的名字
TEXT ("The Hello Program"), // window caption 窗口的标题
WS_OVERLAPPEDWINDOW, // window style 窗口的风格
CW_USEDEFAULT,// initial x position 默认的窗口左上角的X、Y点
CW_USEDEFAULT,// initial y position
CW_USEDEFAULT,// initial x size 默认窗口显示的宽和高
CW_USEDEFAULT,// initial y size
NULL, // parent window handle 没有父窗口
NULL, // window menu handle 没有菜单、菜单句柄为空
hInstance, // program instance handle 程序当前实例,由系统传递
NULL) ; // creation parameters
ShowWindow (hwnd, iCmdShow) ; //显示窗口
UpdateWindow (hwnd) ; //更新窗口
while (GetMessage (&msg, NULL, 0, 0)) //消息循环,获取消息
{
TranslateMessage (&msg) ; //翻译消息,
DispatchMessage (&msg) ;// 分发消息
}
return msg.wParam ; //返回消息里的一个参数,只有退出程序时该值才为0
}
//回调函数的定义
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdc ; //定义设备上下文句柄
PAINTSTRUCT ps ; //一个结构体
RECT rect ; //定义一个矩形
switch (message)
{
case WM_CREATE: //窗口刚刚创建好时发送的消息
//PlaySound (TEXT ("hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC) ;//播放声音
return 0 ; //返回
case WM_PAINT: //窗口重画时的消息
hdc = BeginPaint (hwnd, &ps) ; //得到设备上下文句柄
GetClientRect (hwnd, &rect) ; //得到当前客户区矩形
DrawText (hdc, TEXT ("Hello, Windows 98!"), -1, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER) ; //输出引号里文字,后面参数定义它输出的方式
EndPaint (hwnd, &ps) ; //释放设备上下文句柄
return 0 ;
case WM_DESTROY: //窗口销毁时的消息
PostQuitMessage (0) ; //退出程序
return 0 ;
}
return DefWindowProc (hwnd, message, wParam, lParam) ; //对没有定义处理方法的消息,系统默认处理
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询