📄 simpleapi.c
字号:
//
// 使用API编制的一个简单的Windows程序
//
#include <windows.h>
// 声明全局变量
HINSTANCE ghInst= NULL; // 实例的句柄
char* szAppName = "SimpleAPI";
char* szAppTitle = "用API编制的一个简单的窗口";
// 函数定义处
// 消息处理函数
LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM );
// 应用程序入口函数
int WINAPI WinMain( HINSTANCE, HINSTANCE,LPSTR, int );
//===================================================
// 消息处理函数
//===================================================
LRESULT CALLBACK WndProc( HWND hwnd, // 窗口句柄
UINT message, // 所发送的消息标识
WPARAM wParam, //窗口附加信息
LPARAM lParam ) //窗口附加信息
{
char* msgCreate = "收到WM_CREATE消息!";
char* msgDestroy = "收到WM_DESTROY消息!";
char* msgCaption = "提示信息";
char* msgLBTN = "鼠标左键被按下!";
switch( message )
{
// 响应 WM_CREATE 消息
case WM_CREATE:
// 弹出一个对话框通知收到消息
MessageBox( GetFocus(),msgCreate, msgCaption,MB_OK|MB_ICONINFORMATION );
break;
//响应 WM_LBUTTONDOWN消息
case WM_LBUTTONDOWN:
MessageBeep(MB_ICONINFORMATION);
MessageBox( GetFocus(), msgLBTN, msgCaption,MB_OK|MB_ICONINFORMATION );
break;
// 响应 WM_DESTROY 消息
case WM_DESTROY:
MessageBox( GetFocus(), msgDestroy, msgCaption, MB_OK|MB_ICONINFORMATION );
PostQuitMessage( 0 );
break;
// Windows系统中规定必须调用此函数
default : return DefWindowProc( hwnd, message, wParam, lParam );
}
return TRUE;//FALSE;
}
//
// 应用程序入口
//
int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
{
WNDCLASS wc ;//定义窗口类
MSG msg;//定义windows消息
HWND ghWnd = NULL; //主窗口句柄
// 保存程序实例句柄
ghInst = hInstance;
// 为窗口类赋值
wc.style = CS_HREDRAW|CS_VREDRAW;
wc.lpfnWndProc = WndProc; // 消息处理函数
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance; // 应用程序实例句柄
wc.hIcon = LoadIcon(NULL,IDI_APPLICATION); // 装入图标
wc.hCursor = LoadCursor(NULL,IDC_ARROW); // 装入鼠标箭头
wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); // 选择窗口背景颜色
wc.lpszMenuName = NULL; // 窗口中没有菜单
wc.lpszClassName = szAppName; // 窗口所属类名
RegisterClass( &wc ); // 注册窗口类
// 创建窗口
ghWnd = CreateWindow( szAppName, // 注册的窗口类名
szAppTitle, // 窗口条上显示的名字
WS_OVERLAPPEDWINDOW, // 窗口风格
0, // 窗口的左上角的X坐标
0, // 窗口的左上角的Y坐标
400, // 窗口宽度
350, // 窗口高度
NULL, // 父窗口句柄
NULL, // 菜单的句柄
hInstance, // 程序的当前句柄
NULL ); // 设置为空
// 如果窗口创建失败就返回
if( NULL == ghWnd )
return 0;
ShowWindow( ghWnd, nCmdShow ); // 显示窗口
UpdateWindow( ghWnd ); // 更新窗口
//=======================================================
// 创建消息循环
//=======================================================
while( GetMessage( &msg, NULL, 0, 0 ) )
{
// 该函数翻译与键盘有关消息
TranslateMessage( &msg );
// 处理消息
DispatchMessage( &msg );
}
return msg.wParam;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -