您的位置:首页 > 其它

SDK的hello world程序!

2006-12-01 08:54 323 查看
#include <windows.h>

//主函数原型,整个函数的执行从该函数开始

int WINAPI WinMain (HINSTANCE, HINSTANCE, LPSTR, int);
LRESULT WINAPI WndProc (HWND, UINT, WPARAM, LPARAM);
//WinMain函数
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
HWND hWnd; //主窗口句柄
MSG msg; //窗口消息
WNDCLASS wc; //窗口类
if ( !hPrevInstance )
{
//填充窗口类信息
wc.style = CS_HREDRAW | CS_VREDRAW; //当长或宽改变的时候重画整个窗口
wc.lpfnWndProc = WndProc; //长指针指向windows过程处理函数
wc.cbClsExtra = 0; //指明了为windows类额外分配的内存的数量,windows初始化为0
wc.cbWndExtra = 0; //指定了为windows实例额外分配的内存的数量,windows初始化为0
wc.hInstance = hInstance; //指向windows程序实例的句柄
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); //为了使用预先定义好的图标,需将第一个参数高为NULL
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH); //背景的画刷
wc.lpszMenuName = NULL; //菜单
wc.lpszClassName = "Sdk 实例"; //指明了windows类的名称
//注册窗口类
RegisterClass(&wc);
}
//创建应用程序主窗口
hWnd = CreateWindow("Sdk 实例", //窗口类名
"Wind32 SDK 应用程序实例", //窗口标题
WS_OVERLAPPEDWINDOW, //窗口样式
CW_USEDEFAULT, //初始化X坐标
CW_USEDEFAULT, //初始化Y坐标
CW_USEDEFAULT, //初始化窗口宽度
CW_USEDEFAULT, //初始化窗口长度
NULL, //父窗口句柄
NULL, //窗口菜单句柄
hInstance, //程序实例句柄
NULL); //创建参数
//显示窗口
ShowWindow(hWnd, SW_SHOW);
//更新主窗口客户区
UpdateWindow(hWnd);
//开始消息循环
while ( GetMessage(&msg, NULL, 0, 0) )
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}

//主窗口过程,处理窗口中各种各样的事件
LRESULT WINAPI WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
HDC hDC;
switch ( msg )
{
case WM_PAINT:
hDC = GetDC(hWnd);
TextOut(hDC, 10, 100, "你好,SDK编程!", sizeof("你好,SDK编程!")-1);
break;
case WM_DESTROY:
PostQuitMessage(0); //发送退出程序的消息
break;
default:
break;
}
return DefWindowProc(hWnd, msg, wParam, lParam);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: