windows 程序设计 学习笔记(一)

最近看这本书,顺便写下笔记, 做了有两年的Windows 开发 ,一直自学 ,打算看下基本经典的书,查缺补漏,我这人有强迫症 ,必须得系统学,话说这中文版的翻译也太烂了 ,将就着看吧,谁让咱英语不好呢,错了不要喷 ,纯粹是笔记。

#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine , int iShowCmd)
{
MessageBox(NULL,TEXT("Hello !"),TEXT("He"),0);
return 0;

}


WINDOWS.H

主要包含了下面几个头:

WINDEF.H   基本类型定义

WINNT.H   unicode 相关

WINBASE.H   Kernel  相关

WINGDI.H   图形界面相关


int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine , int iShowCmd)

一看就知道,程序入口。

匈牙利表示法 ,经常听说 ,前面小写表示类型,  i 表示 int  ,我一般都用 n , sz  表示以零结束的字符串。

HINSTANCE hInstance  第一个参数,程序运行时唯一标识。

HINSTANCE hPrevInstance   这翻译的,说是32位元windows 版本以抛弃 ,一直是NULL

PSTR szCmdLine   看名字应该是参数  

int iShowCmd   最初显示方式(比如最大化,最小话)



MessageBox(NULL,TEXT("Hello !"),TEXT("He"),0);

弹出窗口:

第一个参数,猜也应该能猜到是父窗口句柄

第二个   内容  

第三个  标题。

第四个  样式     

列举几个第四个的样式

MB_OK    有个OK按钮

MB_OKCANCEL  有个OK  和  cancel 按钮

MB_ABORTRETRYIGNORE

MB_YESNOCANCEL

MB_YESNO

MB_RETRYCANCEL

剩下的依此类推吧 

还有些 不写了  直接截图


TEXT("xxxx")  是因为window 有单字符  和双字符  ,  类似的还有  _T("")   L("")  都一样,这个这节没说  ,后面说在写吧  ,我这表达方式不行 ,没书对照写不出来。



近有幸拜读了Charles Petzold的大作《Windows程序设计》,真有种相见恨晚的感觉。这是一本1999年出版、主要讲述在Windows平台下如何使用C语言调用API函数进行软件开发的老书。在当今RAD工具充斥市场的今天,该书依然是新手从事Windows下软件开发入门的不二之选。本人从事Windows平台软件开发已近三年,Windows相关的书籍和文档也阅读过不少,直到接触该书之后,好多以往含糊不清的概念才一下子豁然开朗。说到这里,不得不佩服Charles Petzold先生的文笔和才识,能够把windows程序开发知识讲解的如此简洁明了、浅显易懂。   第一章讲述的主要是些介绍性的、基础性的文字内容。   接触该书的先决条件是安装有Windows系统、了解C语言、安装有可进行Windows编程的开发环境。   Winows是支持抢占式多任务、多线程的图形操作系统。支持CUI(控制台用户接口)和GUI(图形用户接口)两种编程方式。所有基于GUI的Windows程序至少有一个窗口,支持鼠标和键盘控制,每一个时刻可以有多个Windows程序同时运行,互不冲突。   Winows运转的核心是一个被称作“动态连接”的概念。通过“动态连接”功能可调用Windows提供的系统函数即API,这些函数主要包含在Kernel.dll(包含内存管理、文件I/O、任务处理API函数)、User.dll(包含用户界面API函数)、GDI.dll(包含图形设备接口API函数)三个动态连接库中。以往调用C库函数,只要包含头文件,就可以将C库函数中的机器代码连接到我们的程序中;调用Windows API函数,除了需包含头文件,还需要一个对应的“导入库(import library)”文件,用以指明dll动态库的函数调用入口,而且dll动态库并不被连接到我们的程序中,只有在程序运行时,系统才将相应dll动态库载入到内存中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值