windows程序設(shè)計(jì)_第五版(中文完整版)
資料介紹
如題
本書(shū)介紹了在Microsoft Windows 98、Microsoft Windows NT 4.0和Windows NT 5.0下程序?qū)懽鞯姆椒?。這些程序用C語(yǔ)言編寫(xiě)并使用原始的Windows Application Programming Interface(API)。如在本章稍后所討論的,這不是寫(xiě)作Windows程序的唯一方法。然而,無(wú)論最終您使用什么方式寫(xiě)作程序,了解Windows API都是非常重要的。正如您可能知道的,Windows 98已成為使用Intel 32位微處理器(例如486和Pentium)的IBM兼容型個(gè)人計(jì)算機(jī)環(huán)境上最新的圖形操作系統(tǒng)之代表。Windows NT是IBM PC兼容機(jī)種以及一些RISC(精簡(jiǎn)指令集計(jì)算機(jī))工作站上使用的Windows工業(yè)增強(qiáng)型版本。
使用本書(shū)有三個(gè)先決條件。
首先,您應(yīng)該從使用者的角度熟悉Windows 98。不要期望可以在不了解Windows使用者接口的情形下開(kāi)發(fā)其應(yīng)用程序。因此,我建議您在開(kāi)發(fā)程序(或在進(jìn)行其它工作)時(shí)使用執(zhí)行Windows的機(jī)器來(lái)跑Windows應(yīng)用程序。
第二,您應(yīng)了解C語(yǔ)言。如果要寫(xiě)Windows程序,一開(kāi)始卻不想了解C語(yǔ)言,那不是一個(gè)好主意。我建議您在文字控制臺(tái)環(huán)境中,例如在Windows 98 MS-DOS命令提示窗口下提供的環(huán)境中學(xué)習(xí)C語(yǔ)言。Windows程序設(shè)計(jì)有時(shí)包括一些非文字模式程序設(shè)計(jì)的C語(yǔ)言部分;在這些情況下,我將針對(duì)這些問(wèn)題提供討論。但大多數(shù)情況下,您應(yīng)非常熟悉該語(yǔ)言,特別是C語(yǔ)言的結(jié)構(gòu)和指針。了解標(biāo)準(zhǔn)C語(yǔ)言執(zhí)行期鏈接庫(kù)的一些相關(guān)知識(shí)是有幫助的,但不是必要的。
第三,您應(yīng)該在機(jī)器上安裝一個(gè)適于進(jìn)行Windows程序設(shè)計(jì)的32位C語(yǔ)言編譯器和開(kāi)發(fā)環(huán)境。在本書(shū)中,假定您正在使用Microsoft Visual C++ 6.0,該軟件包可獨(dú)立購(gòu)買(mǎi),也可作為Visual Studio 6.0軟件包的一部分購(gòu)買(mǎi)。到此為止,我將不再假設(shè)您具有任何圖形使用者接口(如Windows)的程序?qū)懽鹘?jīng)驗(yàn)。 WINDOWS環(huán)境 Windows幾乎不需要介紹。然而人們很容易忘記Windows給辦公室和家庭桌上型計(jì)算機(jī)所帶來(lái)的重大改變。Windows在其早期曾經(jīng)走過(guò)一段坎坷的道路,征服桌上型計(jì)算機(jī)市場(chǎng)的前途一度相當(dāng)渺茫。
開(kāi)始
Windows上執(zhí)行的程序可共享在稱(chēng)為「動(dòng)態(tài)鏈接庫(kù)」的文件中的例程。Windows包括一個(gè)機(jī)制,能夠在執(zhí)行時(shí)連結(jié)使用動(dòng)態(tài)鏈接庫(kù)中例程的程序。Windows自身基本上就是一個(gè)動(dòng)態(tài)鏈接庫(kù)的集合。 Windows是一個(gè)圖形接口,Windows程序能夠在視訊顯示器和打印機(jī)上充分利用圖形和格式化文字。圖形接口不僅在外觀(guān)上更有吸引力,而且還能夠讓使用者傳遞高層次的信息。 Windows應(yīng)用程序不能直接存取屏幕和打印機(jī)等圖形顯示設(shè)備硬件。相反,Windows提供一種圖形程序語(yǔ)言(稱(chēng)作圖形設(shè)備接口,或者GDI),使顯示圖形和格式化文字更容易。Windows虛擬化了顯示硬件,使為Windows編寫(xiě)的程序可使用任何具有Windows設(shè)備驅(qū)動(dòng)程序的視頻卡或打印機(jī),而程序無(wú)需確定系統(tǒng)相連的設(shè)備類(lèi)型。對(duì)Windows開(kāi)發(fā)者來(lái)說(shuō),將與設(shè)備無(wú)關(guān)的圖形接口輸出到IBM PC上不是件輕松的事。PC的設(shè)計(jì)是基于開(kāi)放式架構(gòu)的原則,鼓勵(lì)第三方硬件制造商為PC開(kāi)發(fā)接口設(shè)備,而且開(kāi)發(fā)了大量這樣的設(shè)備。雖然出現(xiàn)了多種標(biāo)準(zhǔn),PC上的傳統(tǒng)MS-DOS程序仍不得不各自支持許多不同的硬設(shè)備。這對(duì)MSDOS字處理軟件來(lái)說(shuō)非常普遍,它們連同1到2張有許多小文件的磁盤(pán)一同銷(xiāo)售,每個(gè)文件支持一種特定的打印機(jī)。Windows程序不要求每個(gè)應(yīng)用程序都自行開(kāi)發(fā)這些驅(qū)動(dòng)程序,因?yàn)檫@種支持是Windows的一部分。
動(dòng)態(tài)鏈接 Windows運(yùn)作機(jī)制的核心是一個(gè)稱(chēng)作「動(dòng)態(tài)鏈接」的概念。Windows提供了應(yīng)用程序豐富的可呼叫函數(shù),大多數(shù)用于實(shí)作其使用者接口和在視訊顯示器上顯示文字和圖形。這些函數(shù)采用動(dòng)態(tài)鏈接庫(kù)(Dynamic Linking Library,DLL)的方式撰寫(xiě)。這些動(dòng)態(tài)鏈接庫(kù)是些具有.DLL或者有時(shí)是.EXE擴(kuò)展名的文件,在Windows 98中通常位于\WINDOWS\SYSTEM子目錄中,在Windows NT中通常位于\WINNT\SYSTEM和\WINNT\SYSTEM32子目錄中。在早期,Windows的主要部分僅通過(guò)三個(gè)動(dòng)態(tài)鏈接庫(kù)實(shí)作。這代表了Windows的三個(gè)主要子系統(tǒng),它們被稱(chēng)作Kernel、User和GDI。當(dāng)子系統(tǒng)的數(shù)目在Windows最近版本中增多時(shí),大多數(shù)典型的Windows程序產(chǎn)生的函數(shù)呼叫仍對(duì)應(yīng)到這三個(gè)模塊之一。Kernel(日前由16位的KRNL386.EXE和32位的KERNEL32.DLL實(shí)現(xiàn))處理所有在傳統(tǒng)上由操作系統(tǒng)核心處理的事務(wù)-內(nèi)存管理、文件I/O和多任務(wù)管理。User(由16位的USER.EXE和32位的USER32.DLL實(shí)作)指使用者接口,實(shí)作所有窗口運(yùn)作機(jī)制。GDI(由16位的GDI.EXE和32位的GDI32.DLL實(shí)作)是一個(gè)圖形設(shè)備接口,允許程序在屏幕和打印機(jī)上顯示文字和圖形。 Windows 98支持應(yīng)用程序可使用的上千種函數(shù)呼叫。每個(gè)函數(shù)都有一個(gè)描述名稱(chēng),例如CreateWindow。該函數(shù)(如您所猜想的)為程序建立新窗口。所有應(yīng)用程序可以使用的Windows函數(shù)都在表頭文件里預(yù)先聲明過(guò)。在Windows程序中,使用Windows函數(shù)的方式通常與使用如strlen等C語(yǔ)言鏈接庫(kù)函數(shù)的方式相同。主要的區(qū)別在于C語(yǔ)言鏈接庫(kù)函數(shù)的機(jī)械碼連結(jié)到您的程序代碼中,而Windows函數(shù)的程序代碼在您程序執(zhí)行文件外的DLL中。當(dāng)您執(zhí)行Windows程序時(shí),它通過(guò)一個(gè)稱(chēng)作「動(dòng)態(tài)鏈接」的過(guò)程與Windows相接。一個(gè)Windows的.EXE文件中有使用到的不同動(dòng)態(tài)鏈接庫(kù)的參考數(shù)據(jù),所使用的函數(shù)即在那些動(dòng)態(tài)鏈接庫(kù)中。當(dāng)Windows程序被加載到內(nèi)存中時(shí),程序中的呼叫被指向DLL函數(shù)的入口。如果該DLL不在內(nèi)存中,就把它加載到內(nèi)存中。當(dāng)您連結(jié)Windows程序以產(chǎn)生一個(gè)可執(zhí)行文件時(shí),您必須連結(jié)程序開(kāi)發(fā)環(huán)境提供的特定「引用鏈接庫(kù)(import library)」。這些引用鏈接庫(kù)包含了動(dòng)態(tài)鏈接庫(kù)名稱(chēng)和所有Windows函數(shù)呼叫的引用信息。連結(jié)程序使用該信息在.EXE文件中建立一個(gè)表格,在加載程序時(shí),Windows使用它將呼叫轉(zhuǎn)換為Windows函數(shù)。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
- Java编程思想(第五版)0次下载
- 电机学第五版电子书0次下载
- 机械设计基础答案(第五版)第17章0次下载
- 机械设计基础答案(第五版)第9章0次下载
- 机械设计基础答案(第五版)第15章0次下载
- 机械设计基础答案(第五版)第12章0次下载
- 微机原理--微机原理及应用(第五版)0次下载
- 电路第五版课后答案0次下载
- 数字电子技术基础_阎石第五版0次下载
- 第五版锁相环设计、仿真与应用(中文版)0次下载
- 康华光-电子技术基础_模拟部分(第五版)课后答案(完整版)0次下载
- [计算机网络第五版]计算机网络第五版0次下载
- [计算机网络第五版]计算机网络第五版0次下载
- [计算机网络第五版]计算机网络第五版0次下载
- Java程序设计教程(第五版)源代码0次下载
- 为何程序下载时搜索不到CPU?1141次阅读
- PLC程序设计常用方法总结5563次阅读
- 浅谈项目中的程序设计思路与步骤1609次阅读
- 解析PLC梯形图程序设计1684次阅读
- NPU加速器建模设计(完整版)2919次阅读
- RTOS应用程序设计的五个实战技巧1195次阅读
- 如何使用NSIS创建Windows安装程序4300次阅读
- 做一个STM32小车很简单吗1486次阅读
- wifi技术标准第四代第五代区别38647次阅读
- 如何利用逻辑设计法进行PLC的程序设计4086次阅读
- 介绍MATLAB程序设计中M程序及使用方法7091次阅读
- windows和Linux程序员到底有没有区别?10371次阅读
- 由传统电工图转换为阶梯图的过程,浅谈程序设计5617次阅读
- 单片机与程序设计(下)2936次阅读
- 焊接机理完整版4008次阅读
下載排行
本周
- 1DC電源插座圖紙
- 0.67 MB | 2次下載 | 免費(fèi)
- 2AN158 GD32VW553 Wi-Fi開(kāi)發(fā)指南
- 1.51MB | 2次下載 | 免費(fèi)
- 3AN148 GD32VW553射頻硬件開(kāi)發(fā)指南
- 2.07MB | 1次下載 | 免費(fèi)
- 4AN111-LTC3219用戶(hù)指南
- 84.32KB | 次下載 | 免費(fèi)
- 5AN153-用于電源系統(tǒng)管理的Linduino
- 1.38MB | 次下載 | 免費(fèi)
- 6AN-283: Σ-Δ型ADC和DAC[中文版]
- 677.86KB | 次下載 | 免費(fèi)
- 7SM2018E 支持可控硅調(diào)光線(xiàn)性恒流控制芯片
- 402.24 KB | 次下載 | 免費(fèi)
- 8AN-1308: 電流檢測(cè)放大器共模階躍響應(yīng)
- 545.42KB | 次下載 | 免費(fèi)
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 450次下載 | 免費(fèi)
- 2免費(fèi)開(kāi)源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 138次下載 | 1 積分
- 3基于STM32單片機(jī)智能手環(huán)心率計(jì)步器體溫顯示設(shè)計(jì)
- 0.10 MB | 130次下載 | 免費(fèi)
- 4使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
- 2.96 MB | 44次下載 | 免費(fèi)
- 53314A函數(shù)發(fā)生器維修手冊(cè)
- 16.30 MB | 31次下載 | 免費(fèi)
- 6美的電磁爐維修手冊(cè)大全
- 1.56 MB | 24次下載 | 5 積分
- 7如何正確測(cè)試電源的紋波
- 0.36 MB | 17次下載 | 免費(fèi)
- 8感應(yīng)筆電路圖
- 0.06 MB | 10次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評(píng)論