`
webcode
  • 浏览: 5960000 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Windows 程序设计1、2章

 
阅读更多

windows.h 中包含了 许多其他的头文件

主要是 WINUSER.H 使用者界面

WINBASE.H kernel函数

WINDEF.H 一些类型的define

WINNT.H 支持 UNICODE形态定义

WINGDI.H 包含图形界面函数

应用程序的入口函数

int WINAPI WinMain //WINAPI #define WINAPI _stdcall 标准调用约定 很多语言都是用的这种调用约定

(HINSTANCE hInstance, //实例的句柄 用于唯一标示应用程序

HINSTANCE hPrevInstance, //先前实例的句柄在win 32 下为 0已经被摒弃

LPSTR lpCmdLine, //command line

int nShowCmd ); /窗体的显示方式

UNICODE 是为了解决ASCII不能表示所有语言的问题

wchar_t 原型 typedef wchar_t unsigned short ; //占2个字节也就是 16位 宽字 32位下

wchar_t * p=L"DSAFAFD" ; //L是long 告诉编译器使用每一个字符占2个字节

wchar_t c=L'p'; //定义宽字节 字符 即使不加L那么编译器也默认将她设置为2个字节

wcslen 求宽字节字符串的长度 不包括 '\0'

wprintf 是printf的宽字原版

对应就有wscanf 这个是再 WCHAR.H中定义的

但是 有时候 我们 的程序需要 单字节 也需要双字节 那么 wchar_t和char 的 混合就混乱了 由于处理的函数 不用我们希望有一个可以同时处理他们的 类型

TCAR 如果定义了 _UNICODE 识别字那么就是 typedef wchar_t TCHAR 如果没定义的 typedef char TCHAR

具体看 TCHAR.H源文件

#define _T(x) __T(x)
#define _TEXT(x) __T(x)

在TCHAR.H中这样定义了 就是 说我们可以用 _T __T _TEXT中的任意一种 。

对应求字符个数的函数 就是 _tcslen ()

如果定义了 _UNICODE 那么就是 #define _tcslen wcslen 否则 #define _tcslen strlen

如果要使用_UNICODE 识别那么 就在 Project ->Setting->c/c++ Language -> Preprocessor Definition中加上 _UNICODE 那么 系统的 就会默认使用_UNICODE 识别类型

在 WINNT.H 中增加了新的 类型定义 CTYPE.H 中定义了 wchar_t 为unsigned int

typedef char CHAR ;

typedef wchar_t WCHAR ;

实际上 MessageBox这个函数 并不是真正的 消息框原型

在WINUSER.H中我们找不到 MessageBox的函数定义 也就是说没有 MessageBox的函数进入点 但是 我们发现

有 MessageBoxA 和 MessageBoxW 这两个 函数 一个表示单字节 一个表示宽字 我们在使用时直观调用 MessageBox就行了 因为

#ifdef UNICODE
#define MessageBox MessageBoxW //如果定义了UNICODE 那么 就是用MessageBoxW
#else
#define MessageBox MessageBoxA
#endif // !UNICODE 非UNICODE 的时候调用的是MessageBoxA

这样的好处是一旦定义了 UNICODE 那么全都是UNICODE 表示 MessageBoxW否则就是 MessageBoxA

还有 windows定义了一组与 C语言字符串处理函数相当的函数

ILength = lstrlen (pString) ;

pString = lstrcpy (pString1, pString2) ;

pString = lstrcpyn (pString1, pString2, iCount) ;

pString = lstrcat (pString1, pString2) ;

iComp = lstrcmp (pString1, pString2) ;

iComp = lstrcmpi (pString1, pString2) ;

这些函数 其实和 TCHAR 一样的用法 如果定义了UNICODE 就是 那么这些函式将接受宽字串,否则只接受常规字串。

windows中不可以使用 printf 但是可以使用sprintf进行格式化文本

int sprintf (char * szBuffer, const char * szFormat, ...)

{int iReturn ;va_list pArgs ;

va_start (pArgs, szFormat) ;

iReturn = vsprintf (szBuffer, szFormat, pArgs) ;

va_end (pArgs) ;

return iReturn ;

}

标准版 sprintf swprintf _stprintf
我们可以对宽字 单字节的字符进行格式化

分享到:
评论

相关推荐

    Windows 程序设计(第5版)(上、下册)--详细书签版

    他在《Microsoft Systems Joumal》1986年 12月号上发表了第一篇关于 Windows程序设计的杂志论文。从 1986年到 1995年,他为《PC Magazine》撰写“Environments”专栏,给读者介绍了Windows和OS/2程序设计的许多方面...

    MFC Windows程序设计(第2版修订版)--源代码

     《mfc windows程序设计(第2版)》是对其极为经典的第1版的全面更新,本书不仅扩展了已被认为是权威的关于microsoft用于windows api的功能强大的c++类库的阐述,还新增了有关com、ole和activex的内容。本书的作者...

    Windows程序设计(第2版)王艳_源代码

    书籍目录: 第1章 Windows程序设计基础   1.1 必须了解的内容   1.2 VC++的基本使用  1.3 本书推荐的编程环境  1.4 代码的风格  第2章 Win32程序运行原理   2.1 CPU的保护模式和Windows系统  2.2 ...

    windows程序设计-王艳平part1

    windows程序设计-王艳平part2 pdf

    windows 程序设计

    为说明Windows程序设计的多种技术,本书提供了许多范例程序。这些程序使用C语言撰写并原原本本的使用Windows API来开发程序。我将这种方法称作「古典」Windows程序设计。这是我们在1985年为Windows 1.0写程序的方法...

    Mfc Windows程序设计1,2章

    mfc windows 程序设计1,2章

    windows程序设计(C语言版1-5章)

    windows程序设计C语言版,章节内容包括:第一章概述,第二章Unicode简介,第三章窗口和消息,第四章输出文字,第五章图形基础。

    windows 程序设计 chm版

    windows 程序设计,很值得阅读 基础篇 1. 开始 2.Unicode简介 3. 窗口和消息 4. 输出文字 5. 图形基础 6. 键盘 7. 鼠标 8. 定时器 9. 子窗口控件 10. 菜单及其它资源 11. 对话框 12. 剪贴...

    MFC_Windows程序设计+源码

    《MFC Windows程序设计(第2版)》是对其极为经典的第1版的全面更新,本书不权扩展了已被认为是权威的Microsoft用于Windows API的功能强大的C++类库的阐述,还新增了有关COM、OLE和ActiveX的内容。本书的作者,Jeff ...

    Windows程序设计(第5版 珍藏版)清华版 1-4

    作为Windows开发人员的必备参考,涵盖基础知识和中高级主题,全面地介绍了Windows程序设计所涉及的细枝末节,旨在帮助读者从高屋见瓴的角度,建立完整的知识体系,为以后的职业生涯奠定良好的基础。全书共3部分23章...

    windows 程序设计中文版

    第1章 起步 1.1 Windows环境 1.1.1 Windows简史 1.1.2 Windows的方方面面 1.1.3 动态链接 1.2 Windows编程选项 1.2.1 API及内存管理模式 1.2.2 语言选择 1.2.3 编程环境 1.2.4 API文档 1.3 你的第一个Windows程序 ...

    MFC Windows程序设计(1/2)

    《MFC Windows程序设计》是对其极为经典的第1版的全面更新,书中不仅扩展了已被认为是权威的Microsoft用于Windows API的功能强大的C++类库的阐述,还新增了有关COM、OLE和ActiveX的内容。作者Jeff Prosise用其...

    c语言 windows程序设计(第五版).pdf

    c语言 windows程序设计 基础篇 1. 开始  …………………… WINDOWS环境  …………………… WINDOWS程序设计选项  …………………… 编写第一个WINDOWS程序 2.Unicode简介  …………………… 字符...

    Windows程序设计(第五版)(中英文pdf+源码).part1

    Windows程序设计这本书对Windows API讲解得相当详细,附有大量经典实例。而此资源则包含了全部的源码,以及此书的中英文pdf电子书(书签加好了的哦)。此资源分为3个压缩包上传,每部分要1个资源分。此为part1。 ...

    Windows程序设计笔记(1,2,3)

    近有幸拜读了Charles Petzold的大作《Windows程序设计》,真有种相见恨晚的感觉。这是一本1999年出版、主要讲述在Windows平台下如何使用C语言调用API函数进行软件开发的老书。在当今RAD工具充斥市场的今天,该书依然...

    Windows程序设计笔记

    1、掌握主窗口、子窗口的创建、显示、销毁方法 2、掌握窗口间消息传递、参数的传递的方法 3、掌握在WM_PAINT消息和在其他消息中得到DC的方法 4、掌握的常见的绘图函数的使用、画笔、画刷的使用 5、掌握WM_CREATE、WM...

    Windows CE程序设计

    第一部分 - Windows程序设计基础 第1章 - "Hello Windows CE" 第2章 - 屏幕绘画 第3章 - 输入:键盘、鼠标和触摸屏 第4章 - 窗口、控件和菜单 第5章 - 公共控件和Windows CE 第6章 - 对话狂和属性表 第二部分 - ...

    《Windows程序设计(第2版)》王艳平[.PDF]

    http://pan.baidu.com/s/1dF4rTM5 密码见附件

Global site tag (gtag.js) - Google Analytics