1. SDK 程序总体框架:
资源文件( .rc ) + 头文件( .h ) -----> .res
代码 ( .cpp ) + 头文件( .h ) -----> .obj
然后 .res + .obj 及各种库文件 链接而成 .exe 文件
2. SDK 程序分析
// Global Variables:
HINSTANCE hInst; // current instance
TCHAR szTitle[MAX_LOADSTRING]; // The title bar text
TCHAR szWindowClass[MAX_LOADSTRING]; // The title bar text
// Foward declarations of functions included in this code module:
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE, int);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM);
/*
数据类型:
HINSTANCE 指向结构体的指针 struct xxx{ int unuse ; };
TCHAR char
ATOM WORD unsigned short
BOOL int
LRESULT LONG
WPARAM UINT(在32位环境中是32位)
LPARAM LONG
CALLBACK, WINAPI __stdcall
APIENTRY WINAPI
HACCEL 如HINSTANCE
*/
主程序: WinMain( .. ){
MyRegister(); // 注册窗口
MyInitInstance(); // 创建窗口并显示
while( GetMessage()){
分发消息;
}
}
被调函数:消息处理函数
消息及消息参数意思:
WndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
WM_COMMAND:
所有控制元件传来的信息都是WM_COMMAND, 再由参数分辨是哪一种元件(LOWORD(wParam), 即ID号)及是哪一种通知(HIWORD(wParam), 即事件).
核心对象:
CreateEvent
CreateMutex
CreateSemaphore
CreateFile
CreateFileMapping
CreateProcess
CreateThread
结束方式: CloseHandle
SYSTEMTIME st;
GetSystemTime(&st);