Windows編程 第一回 走近Windows

Windows操作系統概述

        Windows是一種基於圖形界面的多任務操作系統。爲這個環境開發的程序有着相同的外觀和命令結構。對用戶 來說,這使得學習使用Windows應用程序變得容易了。爲了幫助開發Windows應用程序,Windows提供了大量的內建 函數以方便地使用彈出菜單、滾動條、對話框、圖標和其他一些友好的用戶界面應該具有的特性。
Windows運行應用程序以硬件無關的方式來處 理視頻顯示、鍵盤、鼠標、打印機、串行口以及系統時鐘。最值 得注意的Windows特性就是其標準化的圖形用戶界面。統一的界面使用圖片或圖標來代表磁盤驅動器、文件、子目 錄以及其它操作系統的命令和動作。統一的用戶界面也爲程序員帶來了好處。例如,你可以很方便地使用常見菜單和對話框的內建函數。所有的菜單都具有相同風格 的鍵盤和鼠標接口,因爲是Windows而不是程序員在實現它。
Windows的多任務環境允許用戶在同一時刻運行多個應用程序或同一個應用 程序的多個實例。一個應用程序可 能處於激活狀態。激活的應用程序是指它正接收用戶的輸入。因爲每一個瞬間僅有一個程序能夠被處理,因此同一時間也只能有一個應用程序處於激活狀態。但是, 可以有任意個數的並行運行的任務。

windows簡史(坊間版)

 

 

                                                                                      ◆Windows進化圖

◆Windows 1.0:只能算是DOS系統的擴展



      

 

       說Windows的時候,我們不得不交待一下MS-DOS系統,MS-DOS是Microsoft Disk Operating System的簡稱,意即由美國微軟公司(Microsoft)提供的磁盤操作系統。1981年8月12日,IBM推出了內置MS-DOS 1.0的個人電腦。可以這樣講,在Windows 95出現之前,DOS一直是最主流的操作系統。

       1985年11月,微軟公司發佈了Windows 1.0系統,與其說是系統,到不是說是一款應用軟件,因爲它只是對MS-DOS系統的功能進行了擴展。可以支持有限的多任務處理能力,並支持鼠標操作。當 時微軟推出這個系統的時候,比蘋果使用圖形用戶界面的Mac機發布時間晚了將近兩年。加上功能上並不是很強,所以市場上對於Windows 1.0的評價並不是很高。當時,這套系統售價爲100美元。

                                                                                ◆Windows 2.0:可疊加窗口,突破640KB基本內存

 

 

         1987年12月9日,Windows 2.0發佈,售價同樣爲200美元。這套系統的最大進步是將蘋果Mac機用戶的圖形界面中一些關鍵功能引入到Windows當中。這利益於 Windows1.0發佈之後,微軟與蘋果簽署的授權協議。在Windows2.0系統中,已經可以完全支持圖標和重疊式窗口。另 外,Windows2.0還得到了很多應用軟件的支持,比如我們今天非常熟悉的Word和Excel等。Windows 2.0分爲386和286兩個版本,前者意義重大,因爲它支持當年初期發佈的386增強模式,此模式能在擴充內存裏同步運行多重MS-DOS程序,突破了 640KB基礎內存的侷限。這是Windows歷史上的一大突破。

                                                                                 ◆Windows 3.0:全新操作系統誕


         1990年5月22日,Windows 3.0正式發佈,它在交互界面方面有了很多改善,它不但擁有全新外觀,其保護和增強模式還能更有效地利用內存,越來越多的軟件開發商願意爲Windows 系統編輯軟件。這讓微軟第一次有能力與蘋果Mac機正面交鋒。對於這個系統,市場反響非常之好,兩年內銷售量達到了1000萬套。

        在Windows3.0發佈之後,微軟趁熱打鐵,繼而發行了Windows3.0多語言版,爲部分非英語系國家提供了方便(但並不包括中文系統);發佈 Windows3.1x系統,全面運行多媒體和網絡功能,界面也進行了美化,支持TrueType字體。1994年,Windows 3.2的中文版本發佈,相信國內很多Windows資深用戶都是這個時候開始接觸Windows的。

◆Windows 95:藍天+白雲,點擊這裏“開始”





       1995年8月24日,微軟公司發佈了具有劃時代意義的操作系統Windows 95。之所以給它這麼高的評價,是因爲Windows 95的出現,顛覆了PC機的使用習慣。不需要在黑屏下敲字,不需要記憶繁瑣的命令符,所有的一些,只要用鼠標點擊狀態條的“開始”按鍵即可,這一標誌性設 計一直延續到了今天的Windows 7系統之中。Windows 95的發佈意味着電腦平民化的到來,也爲PC廠商打開了一條寬闊大道。在Windows 95系統中,內置了IE瀏覽器,用戶可以直接上網。或者在1995年的時候,我們並不知道上網是怎樣一種感覺,但Windows 95早已經爲我們預留了快捷通道。

        開始進入系統後的藍天+白雲給我們留下了深刻的印象,但Windows 95系統也有着讓我們不爽的一面,由於它的一部分代碼運行在32位模式下,另一部分則在16位下,系統經常需要在兩種模式下切換,這就造成了系統運行的不 穩定。但瑕不掩瑜,在今天看來,Windows 95無可厚非地是微軟,乃至IT業界發展的一塊里程碑。

        民間有着所謂Windows 97的說法,其實那是Windows 95的一個增強版本,集成了IE4,並支持USB設備。也是那時裝機人羣選擇較多的一個操作系統版本。

 

 

                                                                          ◆ Windows NT 4.0:面向工作站、網絡服務器和大型計算機的網絡操作系統

 

發佈於1996 年8 月24 號。Windows NT3.5x的這次升級提高了易用性和管理簡單化、高網絡吞吐量和開發及管理網絡的完善工具設置。它的服務器版本包括更快速的文件和打印服務、更強大的運 用支持、標準的通訊功能和整合型的WEB服務(Internet Information Server)。

  Windows NT Workstation 4.0包含流行的Windows 95用戶界面和改善的網絡支持,提供安全、簡易的網絡和局域網訪問。與Windows NT 3.5x相同,WindowsNT 4.0 也擁有Workstation和Server 兩個版本。

  Windows NT Server 4.0 Enterprise Edition發佈於1997年12月。它的主要功能和特性都爲帶有臨界使命環境的大型企業消費者而設計。Windows NT Server 4.0 Enterprise Edition增加了性能和可縮放性,高實用性和開發企業運用的擴展服務。它還支持微軟的事項服務、信息隊列服務 (MSMQ)、簇服務、Windows NT Server負載均衡服務、大型SMP服務和內存加強運用。

  Windows NT Server 4.0 Terminal ServerEdition 在1998 年公佈。它給予Windows NTServer能力來爲PC和非PC桌面電腦所運行的終端和終端模擬的32位Windows操作系統運用而服務。

 

◆Windows 98:經典難忘的操作系統



        基於Windows 95系統的成功,微軟公司在1998年6月25日發佈了Windows 98。這是首次爲普通消費者設計的Windows版本,因此有着“工作最好,遊戲最好”操作系統的口碑。界面方面,它與Windows 95差別並不是很大,但穩定性有了明顯提高,對於多媒體的支持得到進一步加強。特別是次年發佈的Windows 98SE版本,更是在DIY市場成爲裝機的首選。不過Windows 98也有它的痛,那就是“藍屏”,這連比爾•蓋茨做演示的時候也不能倖免。

◆Windows ME:千禧年的一個玩笑


        2000年9月14日,新一代Windows操作系統Windows Millennium Edition(簡稱Windows ME)發佈。這是一款完全面向於家庭用戶的系統,具有高彩系統圖標,更多的遊戲和支持更多文件類型及變換皮膚的新媒體播放器。它的最重要修改則是系統不再 包括真實模式的MS-DOS,並且引進了“系統還原”日誌和還原系統。Windows ME的開關機速度非常快,但不穩定成爲它的“阿克琉斯之踵”,甚至被用戶戲稱Windows Me意爲“(Mistake Edition(錯誤版本)”。在今天看來,這就算是千禧年的一個玩笑吧。但有一點不得不提,在Windows ME下使用閃盤或移動硬盤,系統可以自動識別,不用再安裝驅動程序,真正實現了“即插即用”。

◆Windows XP:最長壽、最耐用的操作系統


        2001年10月25日,Windows XP操作系統發佈,這是微軟歷史上最成功的一個操作系統。直到9年多以後的今天,還有很多用戶在使用它。Windows XP是微軟續Windows 95/98之後的又一重大里程碑。在易用性和穩定性方面都有很大的提高,與此同時多媒體功能和網絡支持都得到進一步加強。由於微軟把很多以前是由第三方提 供的軟件整合到操作系統中,XP受到了猛烈的批評。這些軟件包括防火牆、媒體播放器(Windows Media Player),即時通訊軟件(Windows Messenger),以及它與Microsoft Pasport網絡服務的緊密結合,這都被很多計算機專家認爲是安全風險以及對個人隱私的潛在威脅。儘管如此,大家還是對這個系統給予了高度認可。

◆Windows Vista:硬件殺手有點冷

        Windows Vista於2007年1月30日正式發行。它距離上一版本Windows XP已有超過五年的時間,這是Windows版本歷史上間隔時間最久的一次發佈。雖然間隔了很久,但大家對這位新朋友的並不十分友善。雖然Windows Vista有着華麗麗的外表,但由於相應硬件、軟件廠商沒有及時發佈升級產品,導致Vista存在大量硬件、軟件兼容性問題。雖然微軟公司及時發佈了補丁 程序但,還是未能挽回人們對於Windows Vista的印象。相信今天的電腦裏,正在使用Windows Vista的並不多見。但不可否認,Windows Vista包含了上百種新功能,而且使用p2p技術提升了計算機系統在家庭網絡中的示通信能力。爲接下來的Windows 7系統打下了良好的基礎。

◆Windows 7:新主流

        微軟2009年10月正式面向全球發佈Windows7操作系統,提供銷售Windows7家庭普通版、家庭高級版、專業版和旗艦版四大版本,同時也 發佈了服務器版本——Windows Server 2008 R2。Windows7以其美觀、簡單、快速、穩定和高效等特點深受消費者喜愛,Win7上市兩年銷售量突破5億份成爲微軟史上最暢銷的操作系統軟件。與 此同時,Windows7正迅速在企業市場普及取代佔據WinXP系統,成爲新一代主流操作系統。

編程說明——用C還是用C++

用VC編寫Windows程序有兩種:1. Windows c方式(SDK),2. C++方式:即對SDK函數進行包裝,如VC的MFC。SDK編程就是直接調用Windows的API進行編程,平時人們常說"用SDK寫程序"就是指用 Windows的API函數來寫程序,API由上千個API函數組成。而MFC是API的封閉,結合面向對象程序設計的繼承性和多態性組成一個個的"類",共由一百多個類組成。儘管MFC比SDK方便,但要深入VC,直接去學MFC卻是不明智的選擇。只有在熟悉了MFC的運行機制的情況下,纔有可能深入下去。所以學VC最好是先學用SDK編寫程序,在此期間掌握Windows操作系統的工作原理和各API函數的應用,然後再深入MFC。

既然要詳細的學好windows編程就要用“經典的windows編程方法”——使用C語言和原始的Windows API啦。當然這不是編寫windows程序唯一的方法,但這種方法卻提供給您最佳的性能、最強大的功能和在發掘Windows特性方面最大的靈活性。最 重要的是,不管您最終以什麼方式開發Windows應用程序,熟悉API會使您對Windows內部有更深入的瞭解。

API——我們在編寫標準C 程序的時候,經常會調用各種庫函數來輔助完成某些功能;初學者使用得最多的C 庫函數就是printf 了,這些庫函數是由你所使用的編譯器廠商提供的。在Windows 平臺下,也有類似的函數可供調用;不同的是,這些函數是由Windows 操作系統本身提供的。Windows 操作系統提供了各種各樣的函數,以方便我們開發Windows 應用程序。這些函數是Windows 操作系統提供給應用程序編程的接口(Application ProgrammingInterface),簡稱爲API 函數。我們在編寫Windows 程序時所說的API 函數,就是指系統提供的函數,所有主要的Windows 函數都在Windows.h 頭文件中進行了聲明。③

SDK——我們經常聽人說 Win32 SDK 開發,那麼什麼是SDK 呢。SDK 的全稱是SoftwareDevelopment Kit,中文譯爲軟件開發包。假如現在我們要開發呼叫中心,在購買語音卡的同時,廠商就會提供語音卡的SDK 開發包,以方便我們對語音卡的編程操作。這個開發包通常都會包含語音卡的API 函數庫、幫助文檔、使用手冊、輔助工具等資源。也就是說,SDK 實際上就是開發所需資源的一個集合。現在讀者應該明白Win32 SDK 的含義了吧,即Windows 32 位平臺下的軟件開發包,包括了API 函數、幫助文檔、微軟提供的一些輔助開發工具。③

提示:API 和SDK 是一種廣泛使用的專業術語,並沒有專指某一種特定的API 和SDK,例如,語音卡API、語音卡SDK、Java API、Java SDK 等。

 

① 本小節引自《編程中國》網站的《Windows編程基礎 - 概述》一文

② 本小節引自《Windows7社區》的《從1到7的鉅變 細數windows的發展史》

③ 本段引自孫鑫《VC++深入詳解》

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章