windows API 程序入门
程序员文章站
2024-03-19 08:12:52
...
windows API 程序入门
windows API简介
Windows API 就是windows应用程序接口,是针对microsoft windows操作系统的编程接口,Windows API包括几千个可调用的函数,这些函数的准确拼法与调用语法可以在MSDN上查找。
目的
1.了解 windows操作系统应用程序开发的基本概念,win32 API函数、消息与事件驱动。
2.掌握WinMain函数的基本框架,窗口定义、窗口创建、消息循环及窗口过程函数。
步骤
1.设计一个窗口类
2.创建窗口
3.显示及刷新窗口
4.定义消息结构体,开始消息循环
5.编写窗口过程函数
一个简单的实例
#include <windows.h>
#include <stdio.h>
LRESULT CALLBACK WinSunProc(
HWND hwnd, // 窗口句柄
UINT uMsg, // 消息标识符
WPARAM wParam, // 第一个消息参数
LPARAM lParam // 第二个消息参数
);
int WINAPI WinMain(
HINSTANCE hInstance, // 处理当前实例
HINSTANCE hPrevInstance, // 上一个实例的句柄
LPSTR lpCmdLine, // 指挥线
int nCmdShow // 显示状态
)
{
//设计一个窗口类
WNDCLASS wndcls;
wndcls.cbClsExtra=0;
wndcls.cbWndExtra=0;
wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);
wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);
wndcls.hInstance=hInstance; //应用程序实例句柄由WinMain函数传进来
wndcls.lpfnWndProc=WinSunProc;
wndcls.lpszClassName="sunxin2006";
wndcls.lpszMenuName=NULL;
wndcls.style=CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wndcls);
//创建窗口,定义一个变量用来保存成功创建窗口后返回的句柄
HWND hwnd;
hwnd=CreateWindow("sunxin2006","窗口",WS_OVERLAPPEDWINDOW,
0,0,600,400,NULL,NULL,hInstance,NULL);
//显示及刷新窗口
ShowWindow(hwnd,SW_SHOWNORMAL);
UpdateWindow(hwnd);
//定义消息结构体,开始消息循环
MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
//编写窗口过程函数
LRESULT CALLBACK WinSunProc(
HWND hwnd, // 窗口句柄
UINT uMsg, // 消息标识符
WPARAM wParam, // 第一个消息参数
LPARAM lParam // 第二个消息参数
)
{
switch(uMsg)
{
case WM_CHAR:
char szChar[20];
sprintf(szChar,"char code is %d",wParam);
MessageBox(hwnd,szChar,"char",0);
break;
case WM_LBUTTONDOWN:
MessageBox(hwnd,"mouse clicked","message",0);
HDC hdc;
hdc=GetDC(hwnd);
TextOut(hdc,0,50,"我也不知道写什么",strlen("我也不知道写什么"));
break;
case WM_PAINT:
HDC hDC;
PAINTSTRUCT ps;
hDC=BeginPaint(hwnd,&ps);
TextOut(hDC,0,0,"窗口",strlen("窗口"));
EndPaint(hwnd,&ps);
break;
case WM_CLOSE:
if(IDYES==MessageBox(hwnd,"是否真的结束?","message",MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,uMsg,wParam,lParam);
}
return 0;
}
运行的效果:
上一篇: 怎样在大牛面前装的一手好逼
推荐阅读
-
Windows——API入门
-
windows API 程序入门
-
windows API窗口程序
-
vb.net 教程 2-13 Windows API 函数
-
学习笔记:初探Windows API的——基于Windows API的音乐播放器
-
【Windows编程】Windows Socket API介绍
-
Spring Mvc 入门之框架搭建及第一个应用程序
-
Windows平台MySQL Replication入门 博客分类: 数据库 MySQLReplicationCluster
-
设置IE浏览器的【查看源】程序 博客分类: Windows IE WindowsIE查看源查看源文件源代码
-
windows10 下 Graphviz服务 安装及入门教程