蚂蚱喜欢吃什么| 来月经头疼吃什么药| BS是什么意思啊| 大便里面有血是什么原因| 什么是宫腔镜检查| 胸闷气短可能是什么病| 你在左边我紧靠右是什么歌| female什么意思| 蚕豆有什么营养| 处暑吃什么| 威图手机为什么那么贵| 梦见大鲤鱼是什么征兆| 宝宝老是摇头是什么原因| 55年属什么生肖| 阴茎插入阴道什么感觉| 11点到12点是什么时辰| 吃什么补津液| 鼻窦在什么位置图片| 岁月无痕是什么意思| 酒糟是什么东西| 吃什么头发长的快| 服软是什么意思| 双甘油脂肪酸酯是什么| 经常吃土豆有什么好处| 乙肝表面抗体弱阳性什么意思| 匡威属于什么档次| 什么样的人容易中暑| 什么钱最值钱| qc是什么| 鼻子痒用什么药| 什么是远视| 布洛芬是什么药| 三叉神经痛吃什么药效果好| 什么不宁| 炒菜什么时候放调料| 与虎谋皮是什么生肖| 一什么人家| 女性的排卵期是什么时候| 男人梦见老鼠什么征兆| 葡萄糖氯化钠注射作用是什么| 绞肠痧是什么病| 藿香正气水什么味| 什么富什么车| 懈怠是什么意思| 男人吃什么容易生儿子| 多发性脂肪瘤是什么原因造成的| 213是什么意思| 热火朝天是什么生肖| 湾仔码头水饺为什么贵| 抢沙发是什么意思| 血脂四项包括什么| 下嘴唇发紫是什么原因| 知更鸟是什么意思| 上天眷顾是什么意思| 踩奶是什么意思| 结扎是什么| 口炎是什么字| 什么病属于重大疾病| ca125检查是什么意思| 生殖激素常规检查是查什么的| 维生素b6是什么| 右肺下叶纤维灶是什么意思| 买买提是什么意思| 肝火旺吃什么食物好| 吴亦凡属什么| 暖宫贴贴在什么位置| 曹洪是曹操的什么人| 40岁男人性功能减退是什么原因| 肩周炎是什么原因造成的| 家属是什么意思| 头部出汗多是什么原因| 白羊座后面是什么星座| 门齿是指什么地方| 什么是动脉瘤| 附睾炎是什么原因引起的| 精疲力尽是什么意思| 头发轻轻一拉就掉了是什么原因| 睚眦必报是什么意思| 大便溏泄是什么意思| 法身是什么意思| 一什么车厢| press什么意思| 马来西亚有什么特产| 尿酸为什么会高| 鸡属相和什么属相最配| mpa是什么意思呀| 鸭子炖什么好吃| 微创人流和无痛人流有什么区别| 感冒喝什么药| 12378是什么电话| cr是什么| 什么酒不能喝打一生肖| 干扰素是治什么病的| 梦见玉米是什么意思| 口腔上火了吃什么降火最快| 女人盗汗吃什么好得快| 长痘要忌口什么东西| 丁丁是什么意思| 胃一阵一阵绞痛是什么原因| 榴莲什么时间段吃最好| 怀孕前3个月需要注意什么| 夏天煲什么汤好| 炖鸭汤放什么食材最好| 二聚体测定是什么| 靶身高是什么意思| 月经一个月来两次什么原因| 细软是什么意思| hvi是什么病| 八项药是什么药| 人又不人鬼不鬼是什么生肖| 日光性皮炎用什么药膏最有效| 蜂王浆有什么好处| 什么的后羿| 鞋油自然色是什么颜色| 甲状腺球蛋白高是什么原因| 音爆是什么| 腹腔气体多是什么原因| bl和bg是什么意思| 喝什么茶好| 胆固醇高挂什么科| 188什么意思| 禾花鱼是什么鱼| 3月是什么星座| 暂住证需要什么材料| 专升本要考什么| 手上有湿疹是什么原因引起的| 糖蛋白是什么| 拉屎出血是什么原因| 肌炎有什么症状| 胸闷憋气是什么原因| 为什么姓张的不用说免贵| 73年属什么| 为什么老是梦到男朋友| 腹腔气体多是什么原因| 青梅什么季节成熟| 养尊处优是什么意思| 野生黄芪长什么样子的图片| 有过之而不及是什么意思| 什么鸣什么吠| 爱豆是什么意思| 硬不起吃什么药| 口里发酸是什么原因| 桂枝和肉桂有什么区别| 家里消毒杀菌用什么好| 蔑视是什么意思| 血清铁低是什么原因| 血压有点低是什么原因| 平菇不能和什么一起吃| 人流后什么时候来月经| 想吐是什么原因| 儿童缺铁吃什么补得快| 胭脂是什么东西| 孕前检查一般有什么项目| 梦见死去的朋友是什么意思| 一月10号是什么星座| 四月二十五是什么星座| 男扮女装是什么意思| 充电宝什么品牌好| 混子是什么意思| 国色天香是什么生肖| 忌动土是什么意思| 青色是什么颜色| 灵芝适合什么样的人吃| 张力是什么意思| 人出现幻觉是什么原因| 夏天结婚新郎穿什么衣服图片| 黄帝姓什么| 跟腱炎吃什么药| 放河灯是什么节日| 木加一笔变成什么字| 海水为什么是蓝色的| 稀料对人体有什么危害| cm是什么| 金银满堂是什么生肖| 玉字是什么结构| 头晕呕吐是什么原因引起的| 假性近视是什么意思| 脂肪疝是什么病| 什么是买手店| 精液发黄是什么原因引起的| 闯空门什么意思| 什么鱼适合清蒸| 1977年是什么命| 恶性贫血是什么意思| 疫苗是什么| 咽喉痛什么原因| 自言自语说话是什么病| 生命是什么意思| 鼻塞用什么药| 翔字五行属什么| 抵押是什么意思| 打耳洞需要注意什么| 为什么叫犹太人| 月经量少是什么原因| 8月8号是什么星座| 冰妹是什么意思| 焦油是什么| 胆结石可以吃什么水果| 什么牌子的奶粉好| 才子是什么意思| 10月19日什么星座| 亚甲减是什么意思| 尿道感染吃什么药好得快| 趴着睡觉有什么坏处| 10月21日什么星座| 蛔虫和蛲虫有什么区别| 东风是什么意思| mi是什么| tap是什么意思| 樱桃不能和什么一起吃| 槊是什么意思| 肌筋膜炎吃什么药| 人棉是什么面料| 殊胜是什么意思| 家门不幸是什么意思| 龙凤呈祥代表什么生肖| 胃气虚吃什么中成药| 升米恩斗米仇是什么意思| 狮子座后面是什么星座| 惨无人道是什么意思| 全托是什么意思| 酸奶和牛奶有什么区别| 早期教育是什么| 6是什么意思| 净化心灵是什么意思| 91视频是什么| 羊水透声欠佳什么意思| b超能检查出什么| 胃窦粘膜慢性炎是什么病| 沙发是什么头发| 小雪时节吃什么| 贪慕虚荣是什么意思| 手足口病是什么症状| 私募是什么意思| 有里面没有两横是什么字| 1990是什么生肖| 肿标五项查的是什么| 乙型肝炎核心抗体阳性是什么意思| 花生不能和什么一起吃| 一什么善心| 爬山带什么食物比较好| 小孩老是打嗝是什么原因| 蓝色五行属什么| 盐卤是什么| 吃什么蔬菜可以降血脂| 跳楼是什么感觉| 小三阳有什么症状表现| 痔疮是什么引起的| 脸色发青是什么原因引起的| 低密度脂蛋白胆固醇偏低是什么意思| 雅漾属于什么档次| 贫血的人适合喝什么茶| 痔疮的症状是什么| 10年属什么生肖| 手指关节发黑是什么原因| 感染四项挂什么科| 怀孕一个月会有什么反应| 皮炎用什么药膏最有效| 甲己合化土什么意思| 豆瓣酱可以做什么菜| 泥鳅喜欢吃什么| 脚麻木是什么病的前兆| 默契是什么意思| 胸导联低电压什么意思| 百度跳转到内容

泸州老窖国窖1573封藏大典

本页使用了标题或全文手工转换
维基百科,自由的百科全书
百度 责任编辑:杜美莹声明:版权作品,未经《环球人物》书面授权,严禁转载,违者将被追究法律责任。

Windows应用程序接口Windows API),或俗称的WinAPI,是微软Windows操作系统中的一套核心应用程序接口。Windows API这一叫法实际上是多个Windows平台上相似接口的统称,这些接口也拥有各自的名字,如Win32 API。几乎所有的Windows应用程序都在与 Windows API 进行交互。

Windows API将与Windows系统有关的复杂操作封装在简单的函数当中,编译成动态链接库,再随Windows一同发布。开发者可以简单地借助这些函数来完成复杂的操作,有效降低了编写Windows程序的难度。

Windows有一个软件开发包(SDK, software development kit)提供相应的文档和工具,以使程序员开发使用Windows API的软件和利用Windows技术。

C是Windows API(Win32)的主要编程语言[1],在该API的文档中所公开的函数和数据结构均以该语言进行了描述。但是,如果某种编程语言能够处理(明确定义的)低级数据结构,并能按照规定进行调用与回调,那么其编译器或汇编器也可以调用Windows API。类似地,在历史上Windows API也由多种语言进行了开发。[2]尽管C不是面向对象的编程语言,但Windows API和Windows都具有面向对象的特性;同时,也有许多面向对象语言的包装类和扩展(如微软基础类库MFC、可视化组件库VCL、GDI+等)使这种面向对象的结构更加清晰。例如,Windows 8提供的Windows API和WinRT API就是用C++[3]实现的,并且在设计上也是面向对象的[3]

概述

[编辑]

Windows API所提供的功能可以归为八类:[4]

基础服务(Base Services)[5]

[编辑]

提供了对Windows系统可用的基础资源的访问接口,包括文件系统(file system)、外部设备(device)、进程(process)、线程(thread)和错误处理(error handling)等。这些功能接口在16位Windows中位于kernel.exekrnl286.exekrnl386.exe中;在32位和64位Windows下位于kernel32.dllKernelBase.dll中。这些文件在所有Windows的\Windows\System32 目录中都可以被找到。

高级服务(Advanced Services)

[编辑]

提供了对内核以外功能的访问,包括注册表(Windows registry)、关闭/重启系统(shutdown/restart)、服务(Windows Service)、用户账户(user accounts)等。这些函数位于32位Windows上的advapi32.dlladvapires32.dll中。

提供了将图形内容输出到显示器打印机和其他外部输出设备的功能。它位于16位Windows下的gdi.exe,以及32位Windows下的gdi32.dll中。

图形化用户界面(GUI[7]

[编辑]

提供了创建和管理窗口和大多数基本控件(control)、接收鼠标键盘输入,以及其他与GUI有关的功能。这些调用接口位于:16位Windows下的user.exe,以及32位Windows下的user32.dll。从Windows XP版本之后,基本控件和通用对话框控件(Common Control Library)的调用接口放在comctl32.dll中。

通用对话框链接库(Common Dialog Box Library)[8]

[编辑]

为应用程序提供标准对话框(如打开/保存文件对话框、颜色对话框和字体对话框等)。这个链接库位于:16位Windows下的commdlg.dll中,以及32位Windows下的comdlg32.dll中。它被归类为User Interface API之下。

通用控件链接库(Common Control Library)[9]

[编辑]

为应用程序提供接口来访问操作系统提供的一些高级控件。比如像:状态栏(status bar)、进度条(progress bars)、工具栏(toolbar)和标签(tab)。这个链接库位于:16位Windows下的commctrl.dll中,以及32位Windows下comctl32.dll中。它被归类为User Interface API之下。使用API函数InitCommonControls或InitCommonControlsEx初始化(即注册)相应的窗口类。InitCommonControlsEx实际注册指定的通用控件的窗口类。注意ICC_WIN95_CLASSES代表12个控件类的集合。InitCommonControls是个空函数,但会使应用程序加载comctl32.dll;在comctl32.dll加载到进程时会在DLL的入口点调用InitCommonControlsEx注册ICC_WIN95_CLASSES控件类。

Windows Shell[10][11]

[编辑]

作为Windows API的组成部分,不仅允许应用程序访问Windows Shell提供的功能,还对之有所改进和增强。它位于16位Windows下的shell.dll中,以及32位Windows下的shell32.dll中(Windows 95则在shlwapi.dll中)。它被归类为User Interface API之下。

网络服务(Network Services)[12]

[编辑]

为访问操作系统提供的多种网络功能提供接口。它包括NetBIOSWinsockNetDDE远程过程调用(RPC)等。

Web相关API

[编辑]

Internet Explorer网页浏览器还公开了许多经常被应用程序调用的API,因此通常其也被视为是Windows API的一部分。IE从Windows 95 OSR2起就包含在了Windows系统中,并从Windows 98起开始为应用程序提供Web相关服务[13]。具体来说,它提供:

  • 可嵌入的网页浏览器控件(以及 Trident / MSHTML 引擎),位于shdocvw.dllmshtml.dll之中。
  • urlmon.dll中的命名服务(URL moniters service),利用COM对象为应用程序提供解析URL服务。应用程序也可以为其他程序提供自己的URL处理程序。
  • WinInet IE的网络层,支持HTTP和HTTPS等协议。
  • 一个支持多种语言文本的链接库(mlang.dll)。
  • DirectX Transforms,一组图像过滤组件。
  • XML支持(MSXML组件)。

和Windows的邮件功能相关的API,例如地址本和邮件API,在Windows 7取消邮件功能之后也随之从Windows API中去除。由于Windows Mail在Windows Vista上取代了Outlook Express,对应的API也随之变化。

多媒体相关API

[编辑]

经典的Windows多媒体API位于winmm.dll中,包含了播放音频、MIDI通讯、游戏手柄及其他促进多媒体体验的功能。该API源自Windows 3.x。

自从Windows 95 OSR2以来,Microsoft把DirectX API作为Windows安装的一部分。DirectX提供一组松散相关的多媒体和游戏服务,包括:

  • Direct3D可以作为OpenGL的替代,来访问3D加速硬件。
  • DirectDraw提供硬件加速2D framebuffer(帧缓冲)访问接口。自DirectX 9以来,相比Direct3D更倾向于后者,因为Direct3D提供更全面的高性能图形功能(毕竟2D渲染只是3D渲染的(不严格)子集)。已被Direct2D替代。
  • DirectSound提供底层次的硬件加速声卡访问。被XAudio替代。
  • DirectInput用来与输入设备(摇杆和gamepad)进行通信。已被DirectX 9中引入的XInput所替代。
  • DirectPlay提供一个多人游戏的架构(multiplayer gaming infrastructure)。它已经被DirectX 9所替代,Microsoft不建议用它开发游戏。
  • DirectShow可以创建和运行通用的多媒体管道(generic multimedia pipelines)。它可以与GStreamer框架相媲美,并且经常被用来渲染游戏视频和创建媒体播放器(Windows Media Player及诸如FFDShow之类的编解码器正是基于此;但在Windows Vista及更高版本中,DirectShow被Media Foundation替代)。不建议用DirectShow开发游戏。
  • DirectMusic提供类似MIDI的功能。与DirectSound一起被XAudio替代。

Microsoft还提供了多个用于媒体编码和播放的API:

  • DirectShow,用于构建和运行通用的媒体管道。它类似于GStreamer框架,常用于渲染游戏内的视频和构建媒体播放器(著名的Windows Media Player即基于它)。如今DirectShow已不再被推荐用于开发。
  • Media Foundation,一种较新的数字媒体API,旨在取代DirectShow。

程序通信API

[编辑]

Windows API最重要功能即为此:处理操作系统和应用程序之间的交互。对于不同的Windows应用程序之间的通信,Microsoft发展了一系列的技术并开发了最主要的Windows API。这些技术从动态数据交换(DDE)开始,随后被对象链接和嵌入(OLE)取代,再被组件对象模型(COM)、自动化对象、ActiveX控件和.NET框架取代。不过,这些技术之间区别并不总是十分明显,并且有很多重叠之处。

这些技术的多样性基本上是对软件开发的不同方面进行细分的结果。自动化特别涉及了导出应用程序和组件的功能为API,以便使其可以由其他应用程序而不是人类来进行控制。.NET是一种自包含的通用方法和技术,用于开发各种使用即时编译语言编写的桌面和Web应用程序。

Windows.pas是一个Pascal/Delphi单元,其中包含了Windows特定的API声明。它在Pascal中的作用就像C中的windows.h一样。

封装库

[编辑]

微软利用许多更底层的Windows API函数,开发出许多封装库(wrapper),让应用程序以更抽象的方式与Windows API进行交互。MFC(Microsoft Foundation Class Library)用C++ 来封装Windows API的功能,因而允许用更为面向对象的方式与API进行交互。ATL(Active Template Library)是对COM的面向模板(template oriented)的封装。WTL(Windows Template Library)作为ATL的增强,被用来作为MFC的轻型的替代物。

其他著名的封装库是Borland公司的产品,为了与MFC竞争而推出的OWL(Object Windows Library)提供了类似的面向对象封装。不久Borland又推出VCL(Visual Component Library)来取而代之。

大多数的Windows 程序框架(application framework)是对Windows API的封装,因而.NET FrameworkJava以及其他在Windows下的程序语言,都是(或者包含)封装库。

历史

[编辑]

Windows API总会为程序员提供大量的构建不同 Windows的底层结构,这有助于为 Windows 程序员开发应用程序提供大量的灵活性和功能。但是,它同样使Windows应用程序要负责处理大量底层且有时是繁琐的与图形用户界面(GUI)相关的操作。

例如,初学C的程序员通常会把编写简单的“Hello world”作为他们的第一项任务。程序的工作部分仅仅是主程序中的一个printf行,在链接到标准I/O库时也仅需要一个include行:

#include <stdio.h>

int main(void) {
    printf("Hello, World!\n");
}

Windows版本的工作部分仍然只有一行代码,但除此之外它需要很多很多行的额外开销。

许多有关Windows API的畅销书的作者查尔斯·佩佐德(Charles Petzold)曾经说过:[14]

这些年来,Windows操作系统已经今非昔比,而Windows API也随之改变和成长并反映出这种变化。Windows API的Windows 1.0版本只提供不到450个函数调用(Subroutine),而现在的版本提供上千个。然而,整体而言,Windows接口保持了相当好的一致性,习惯于现在版本Windows API的程序员对古老的Windows 1.0程序也并不会陌生。[15]

微软特别强调维持软件的向后兼容性。为了实现此一目标,有时微软甚至不惜支持使用了非官方乃至(编程上)非法的API的软件。一位致力于Windows API的Windows开发者雷蒙德·陈(Raymond Chen)曾提及:[16]

对Windows API来说,其历史上最大的变化之一就是从Win16(在Windows 3.1及更早的版本中提供)到Win32(Windows NT和Windows 95及更高版本)的过渡。虽然Win32早已在Windows NT 3.1中引入,并在Windows 95前就已允许使用,但直到Windows 95应用程序才开始广泛移植到Win32。为了简化转换的过程,在Windows 95中对Microsoft内外的开发人员Windows使用了一种复杂的API thunk方案来允许32位代码调用到16位代码(对大多数Win16 API有效),反之亦然。同样的,64位的Windows也可以通过WoW64运行32位的应用程序,而位于Windows目录下的SysWOW64文件夹中包含了多个用于支持32位应用程序的工具。

版本

[编辑]

几乎每个版本的Windows都引入了其对Windows API的添加和修改[17],但是API的名称在不同版本的Windows间保持了一致,并且仅当Windows主要的架构和平台都更改时API的名称才会改变。Microsoft最终将当时名叫Win32的API家族改名为Windows API,并使其成为过去和未来API版本的统称。

  • Win16是第一个16位版本Windows的API。它最早被简单地叫做Windows API,但后来为了与较新的32位API区分,它被重命名为了Win16。Win16 API的功能主要驻留在操作系统的核心文件中,如kernel.exe(或krnl286.exekrnl386.exe)、user.exegdi.exe。值得一提的是,尽管这些文件采用了exe的扩展名,它们本质上其实是动态链接库。
  • Win32是Windows 95及后续版本的32位API。与Win16相同,这个API由在系统DLL中实现的函数组成。Win32的核心文件是kernel32.dlluser32.dllgdi32.dll。Win32最早在Windows NT中引入,而不是Windows 95。Windows 95中的Win32最早被称为Win32c,其中的“c”表示兼容性(英语:compatibility);这个名称后来被微软舍弃,转而使用Win32。
  • Win32s是Windows 3.1x系列的扩展,它为这些系统实现了Win32 API的一部分功能。其中的“s”表示子集(英语:subset)。
  • Win64是64位Windows上的Windows API变体。此时应用程序的32位和64位版本可以从同一个代码库进行编译。在默认情况下,所有内存指针都是64位的(LLP64型),因此部分程序的源代码必须被重写以兼容64位指针算法。
  • WinCE是Windows CE操作系统中的Windows API。

其它实现

[编辑]

尽管微软的Windows API实现有著作权保护,但被普遍认可的是,根据美国的法律先例,其他厂商仍然可以通过提供一致的API来模拟Windows,而不会侵犯著作权。

Wine项目为类Unix平台提供了一个在Linux内核API与Windows API程序之间的Win32 API兼容层。ReactOS则更进一步,想要实现一个完整的Windows操作系统;它通过与Wine项目的密切合作来促进其代码的重用和兼容。DosWin32和HX DOS-Extender是另外两个模拟Windows API的项目,它们允许通过DOS命令行来运行简单的Windows程序。Odin是一个在OS/2平台上模拟Win32的项目。

编译器支持

[编辑]

为了开发使用Windows API的软件,编译器必须能处理和导入微软相关的DLLs或者COM对象。编译器必须接受一种C或C++方言,或者能够处理揭示了内部API函数名称的接口定义语言(Interface description language)文件和头文件及生成的类型库(Type Library)。概括而言,这些预备条件(编译器、开发工具、库和头文件)被统称为Microsoft Platform SDK。很长时间以来,包含了编译器和开发工具的专利产品如Microsoft Visual Studio系列和Borland编译器(尽管至少在Windows下,SDK是可以从整个IDE环境中剥离出来单独免费下载的,据Microsoft Platform SDK Update),是仅有的能提供整套开发环境的选择。如今MinGWCygwin也能提供一套这样的开发环境——是基于采用一种独立头文件集合来保证能与微软DLL连接的GCCLCC-Win32是由Jacob Navia维护的一种“非商业用途免费”的C编译器。Pellesc是由Pelle Orinius维护的一种免费C编译器。MASM32是一个成熟的项目,它通过自制或由SDK平台转换的头文件和库,并利用32位微软汇编器来实现支持Windows API。

微软相关的编译器支持也是异常处理(Structured Exception Handling)特性所需要的。这个体制有双重目的:它提供了语言相关的异常处理赖以实现的基础,同时也是内核藉以通知程序发生诸如解除一个非法指针的引用或堆栈溢出之类异常状况的渠道。甫一被引入Windows 95和NT,微软/Borland C++编译器就有使用这种体制的能力,然而实际实现未被公开,而且必须经过反向工程方可用于Wine项目和免费编译器。SEH的运行机制是先把异常的句柄推入堆栈,继而将它们添加到存储于线程本地资源(即线程环境块的首字段)的一个链表里。事实上,每一个未有程序本身处理的异常,都将由会弹出常规Windows崩溃对话框的默认backstop处理器处理。

API在Visual Basic中的实现示例(这个简化的例子使得用户可以让命令按钮在窗体上四处移动):

  Private Const WM_NCLBUTTONDOWN As Long = &HA1&
  Private Const HTCAPTION As Long = 2&
  Private Declare Function ReleaseCapture Lib "user32" () As Long
  Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd&, ByVal wMsg&, wParam As Any, lParam As Any) As Long

  If Command1.MousePointer = 14 Then
    Call ReleaseCapture
    Call SendMessage(Command1.hWnd, WM_NCLBUTTONDOWN, ByVal HTCAPTION, ByVal 0&)
  End If

注释

[编辑]
  1. ^ Walkthrough: Creating Windows Desktop Applications (C++). docs.microsoft.com. [2025-08-08]. (原始内容存档于2025-08-08) (美国英语). 
  2. ^ 在C成为主流语言之前,Windows API中使用了大量的Pascalx86汇编语言。对此一个遗留的痕迹就是API函数中仍然使用了Pascal的方式来处理调用函数时传递的参数(而不是像C的那样)。
  3. ^ 3.0 3.1 Mayberry, Michael. WinRT Revealed. New York City: Apress. 2012: 3. ISBN 978-1-4302-4585-8. 
  4. ^ Microsoft Developer Network(July 2005). Overview of the Windows API.页面存档备份,存于互联网档案馆 Retrieved August 28, 2005.
  5. ^ Microsoft Developer Network(July 2005). Base Services.[永久失效链接] Retrieved August 28, 2005.
  6. ^ Microsoft Developer Network(July 2005). Graphics Device Interface.[永久失效链接] Retrieved August 28, 2005.
  7. ^ Microsoft Developer Network(July 2005). User Interface.[永久失效链接] Retrieved August 28, 2005.
  8. ^ Microsoft Developer Network(2005). Common Dialog Box Library.[永久失效链接] Retrieved September 22, 2005.
  9. ^ Microsoft Developer Network(July 2005). Common Control Library.[永久失效链接] Retrieved August 28, 2005.
  10. ^ Microsoft Developer Network(July 2005). Windows Shell.[永久失效链接] Retrieved August 28, 2005.
  11. ^ Microsoft Developer Network(2005). Shell Programmer's Guide.[永久失效链接] Retrieved August 28, 2005.
  12. ^ Microsoft Developer Network(July 2005). Network Services. Retrieved August 28, 2005.
  13. ^ Microsoft Developer Network(January 2006). Programming and reusing the browser页面存档备份,存于互联网档案馆 Retrieved January 22, 2006.
  14. ^ Charles Petzold (December 2001). Programming Microsoft Windows with C#. Microsoft Press. Beyond the Console, page 47.
  15. ^ Charles Petzold(November 11, 1998). Programming Windows, Fifth Edition. Microsoft Press. APIs and Memory Models, page 9.
  16. ^ Raymond Chen(October 15, 2003). What about BOZOSLIVEHERE and TABTHETEXTOUTFORWIMPS?页面存档备份,存于互联网档案馆 Retrieved August 27, 2005.
  17. ^ History of the Windows API. web.archive.org. 2025-08-08 [2025-08-08]. 原始内容存档于2025-08-08. 

参考资料

[编辑]
  1. Diomidis SpinellisA critique of the Windows application programming interface页面存档备份,存于互联网档案馆). Computer Standards & Interfaces, 20(1):1–8, November 1998. doi:10.1016/S0920-5489(98)00012-9

外部链接

[编辑]
向日葵什么时候成熟 igm是什么意思 放低姿态是什么意思 血糖仪什么牌子的好用又准确 射手座是什么性格
嘴发苦是什么原因 婴儿的腿为什么是弯弯的 慢性结肠炎是什么症状 男女身份证号码有什么区分 敲定是什么意思
瞽叟是什么意思 精子是什么颜色 还愿有什么讲究 身体内热是什么原因 念珠菌和霉菌有什么区别
nb什么牌子 绿野仙踪是什么意思 防晒霜和防晒乳有什么区别 单核细胞比率偏高是什么意思 支气管炎是什么引起的
不显山不露水是什么意思hcv7jop6ns6r.cn 什么是普惠性幼儿园hcv8jop6ns4r.cn cns医学上是什么意思hcv8jop9ns7r.cn 眼色是什么意思hkuteam.com 504是什么错误hcv8jop2ns2r.cn
御史相当于现在什么官hcv9jop8ns1r.cn 小孩出汗多是什么原因造成的hcv9jop7ns9r.cn 丙球是什么hcv8jop9ns5r.cn 跑水是什么意思hcv9jop7ns0r.cn oem贴牌是什么意思hcv8jop0ns2r.cn
梦见红棺材是什么征兆hcv9jop0ns8r.cn 满满是什么意思0735v.com 吃什么补肺hcv8jop8ns0r.cn 血压高可以吃什么水果hcv7jop7ns3r.cn 白兰地属于什么酒hcv8jop7ns4r.cn
荨麻疹要用什么药hcv8jop6ns4r.cn 腊月十八是什么星座inbungee.com icicle是什么牌子hcv8jop7ns4r.cn 喝栀子茶有什么好处hcv8jop0ns0r.cn mr是什么检查项目hcv7jop7ns0r.cn
百度