现在c/c++语法基本语法学完,准备开始攻读windows编程(hehe,为了写游戏),同时开始学习c++数据结构,这是一件令人挑战的事,众所周知windows API繁多复杂,又涉及计算机各方面(数据结构,操作系统等),所以一定要耐下心来慢慢学,并且决定今天开始写blog以便整理一下自己的思路
参考书籍:<<windows程序设计>>(第五版) 作者:Charles Petzold
该章概要介绍了windows简史和动态链接,顺藤摸瓜了解了一下p1161的动态链接库的知识
DLL主要分3大模块Kernel,Gdi,User,winnt操作系统是32位的,所以在system目录下对应的为32位的Kernel32.dll,User32.dll,Gdi32.dll,而windows9x是16/32位的混合体,所以旗下不仅包含了上述3者,还包括Gdi.exe,User.exe,Kernl386.exe
该章中另介绍了程序入口点(WinMain)和1个API函数MessageBox
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
hInstance:实例句柄
hPrevInstance:32位的windows版本为NULL
lpCmdLine:用于运行程序的命令行
nShowCmd:显示方式(可以任意点击桌面上的一个快捷方式,右键点击属性在运行方式的下拉框中的常规,最小化,最大化便是传给WinMain的nShowCmd参数的值)
int MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType)
值得注意的是:
hWnd为所有者窗体句柄
uType的默认值为MB_OK(值为0) | MB_DEFBUTTON1(值为0) | MB_APPLMODAL(值为0)