Windows 程序設(shè)計:第5版

出版時間:2003-11-1  出版社:北京大學(xué)出版社  作者:CharlesPetzold  頁數(shù):1346  譯者:北京博彥科技發(fā)展有限公司  
Tag標簽:無  

內(nèi)容概要

  Windows程序設(shè)計(第5版)對于Windows程序員來說,“從 Chares 的(Window程序設(shè)計)一書中尋找答案?!睅缀醭闪艘痪渲晾砻浴6╓indows程序設(shè)計》第5版是專門為在Microsoft Windows 98、Microsoft Windows NT 4和 Windows NT 5下編程的開發(fā)人員編寫的。內(nèi)容博大精深,并有大量的源代碼來幫助讀者掌握Windows編程。《Windows程序設(shè)計(第5版)(套裝上下冊)》覆蓋了Windows編程的方方面面,是廣大編程人員和學(xué)習(xí)Windows編程的讀者必備的一本好書。

作者簡介

  Charles Petzold 從1984年開始編寫個人計算機程序,從1985年開始編寫Micrososft Win-dows程序。他在《Microsoft Systems Journal》1986年12月號上發(fā)表了第一篇關(guān)于Windows程序設(shè)計的雜志論文。從1986年到1995年,他為《PC Magazine》撰寫“Environments”專欄,給讀者介紹了Windows和OS/2程序設(shè)計的許多方面?!  禬indows程序設(shè)計》由微軟出版社在1988年首次出版,后來被認為是這方面最好的導(dǎo)論性讀本。在1994年5月,Petzold作為僅有的七個人之一(并且是唯一的作家)被《Windows Magezine》和Microsoft公司授予Windows Pioneer獎,以表彰他對Microsoft Windows的成功做出的貢獻?! ≡?999年秋天,微軟出版社將出版Charles Petzold 面向普通讀者的第一本書。暫時命名為《Code:The Hidden Language of Computer Hardware and Software》,這本書專門介紹數(shù)字信息的本質(zhì)以及計算機處理數(shù)字信息的方式。

書籍目錄

對《Windows 程序設(shè)計》的評論作者的話作者簡介上冊第一部分 基礎(chǔ)知識第一章 開始1.1 Windows環(huán)境1.1.1 Windows簡史1.1.2 Windows方面1.1.3 動態(tài)鏈接1.2 Windows編程選項1.2.1 API和內(nèi)存模式1.2.2 語言選項1.2.3 編程環(huán)埃1.2.4 API文檔1.3 編寫一個Windows程序1.3.1 字符模式(Character-Mode)模型1.3.2 Windows等價程序1.3.3 頭文件1.3.4 程序入四點1.3.5 Message Box函數(shù)1.3.6 編譯、鏈接和運行第二章 Unicode簡介2.1 字符集簡史2.1.1 美國標準2.1.2 國際方面2.1.3 擴展ASCII2.1.4 漢字節(jié)字符集2.1.5 Unicode解決方案2.2 寬字符和C2.2.1 Char數(shù)據(jù)類型2.1.2 寬字符2.2.3 寬字符庫函數(shù)2.2.4 維護單一源代碼2.3 寬字符和Windows2.3.1 Windows頭文件類型2.3.2 Windows函數(shù)調(diào)用2.3.3 Windows的字符串函數(shù)2.3.4 在Windows中使用Print2.3.5 格式化消息框2.3.6 本書與國際化第三章 窗口和消息3.1 自己的窗口3.1.1 總體結(jié)構(gòu)3.1.2 HELLOWIN程序3.1.3 總體考慮3.1.4 注冊窗口類3.1.5 創(chuàng)建窗口3.1.6 顯示窗口3.1.7 消息循環(huán)3.1.8 窗口過程3.1.9 處理消息3.1.10 播放聲音文件3.1.11 WM-PAINT消息3.1.12 WM-destroy消息3.2 Windows編程的難點3.2.1 別調(diào)用我,我會調(diào)用您3.2.2 進隊消息與不過隊消息3.2.3 行動迅速第四章 輸出文本……下冊

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    Windows 程序設(shè)計:第5版 PDF格式下載


用戶評論 (總計11條)

 
 

  •     大一下學(xué)期,從五一節(jié)開始讀的。三本書,當(dāng)時還在網(wǎng)上買的盜版,質(zhì)量奇差??上抑话训谝槐緯拇蟀氩糠肿x完了,相當(dāng)于全部的1/4,后來暑假去學(xué)Java了。不過確實受益匪淺,事件驅(qū)動的編程,UI的設(shè)計,計時器等等。很可惜當(dāng)年沒有把這本書看完。
  •     經(jīng)典,內(nèi)容很全.需要先學(xué)會C語言才能看懂這本書.
      對于函數(shù)的用法要熟練.win32api就是C語言函數(shù).
  •     看了有一周的windows程序設(shè)計了,今天總結(jié)總結(jié).
      其實這本書我2003年就買了,也大概看了看,可惜當(dāng)時技術(shù)掌握的不夠牢固,很多地方根本看不懂,也沒有認真去啃一啃,隨便就放下了.
      現(xiàn)在又過了5年了,再看起來,感覺果然不一樣的很.
      看看windows API設(shè)計的,再比較比較Java語言的設(shè)計,很明顯能看出高下之別.
      Windows API設(shè)計的時候,是基于C語言來進行設(shè)計的.其中大量用到的是結(jié)構(gòu),而無論是結(jié)構(gòu)也好,函數(shù)也好,指針也好,這些東西都是可以直接基于匯編語言進行轉(zhuǎn)換的.
      結(jié)構(gòu)就是一段內(nèi)存,每個字段占據(jù)其中固定位置的內(nèi)存空間;
      函數(shù)就是一段內(nèi)存,函數(shù)指針指向內(nèi)存的開始點,調(diào)用函數(shù)時,通過堆棧壓入變量,調(diào)用結(jié)束后彈出堆棧;
      指針就是內(nèi)存地址,傳遞指針就是傳遞內(nèi)存地址.
      所以在windows API的設(shè)計中,沒有類的概念,沒有對象的概念,純粹是結(jié)構(gòu)定義,函數(shù)定義,指針傳遞的概念,在這個概念的基礎(chǔ)上可以搭建出宏偉的建筑出來.
      操作系統(tǒng)負責(zé)底層的具體工作,對外公開的就是所有的標準API,你可以通過任何語言來訪問和調(diào)用這些API.
      
      而Java語言呢,從一開始設(shè)計就是獨立于操作系統(tǒng)的.獨立于操作系統(tǒng)沒有關(guān)系,但不好的就是他是完全基于對象的一個語言,這樣即使兩個對象的定義內(nèi)部結(jié)構(gòu)是一樣的,僅僅因為他們的名字不同,就不能直接傳遞和復(fù)制,而必須手工編碼進行轉(zhuǎn)換,這個實在是太繁瑣了.
      java語言在設(shè)計的時候,沒有把結(jié)構(gòu)這個元素考慮進來,為了所謂的方便性,直接用Object取而代之,結(jié)果就是在程序設(shè)計實現(xiàn)時,有很多低效的代碼轉(zhuǎn)換來轉(zhuǎn)換去.
      
      也許Java應(yīng)該好好研究研究windos API的設(shè)計思路,再改進改進.
      
      windows的全部API,不過幾千個,可現(xiàn)在Java的標準類庫,廣類就不下一千個,這還不考慮這些類之間復(fù)雜的繼承關(guān)系,以及重載帶來的理解上的困難和混亂.
      
      windows API是沒有繼承這個概念的.我的問題是,既然完全不使用這個概念,仍然可以設(shè)計出類似Windows這樣復(fù)雜的系統(tǒng)出來,或者說能提供如此復(fù)雜的功能調(diào)用API出來,那么我們自己設(shè)計系統(tǒng)的時候,提供給外部那么復(fù)雜的調(diào)用接口,是否真的有那個必要呢?
      
      很多系統(tǒng)設(shè)計的如此復(fù)雜,以致于難以維護和升級,這些問題不僅僅是水平問題,更重要的恐怕是思路問題。如果沿用java提供的標準方式,恐怕設(shè)計出來的系統(tǒng)就難免走在復(fù)雜的老路上。
      
      既然windows的API設(shè)計的都如此簡單,我們自己又有多少理由來把系統(tǒng)設(shè)計那么復(fù)雜呢?
      
      暫時沒有標準答案,繼續(xù)思考學(xué)習(xí)中。
  •   兄弟,你這本書能轉(zhuǎn)讓給我看一下嗎?
    我的MSN:soonfly@hotmail.com
    誠心想讀這套書
    電子版看著太費力了,而且不方便標注
  •   樓主將Windows API和java 類庫比較是不恰當(dāng)?shù)摹D惆袽FC和java類庫比較更合適。
    底層的設(shè)計簡單是需要的。但如果樓主認為“簡單”的就是最好的選擇,那么匯編語言,或者01代碼應(yīng)該比Windows API更加簡單,但為什么越來越高級,抽象層次更高的語言涌現(xiàn)出來呢?
    答案就是:使用的舒適性和平滑的學(xué)習(xí)曲線。
    雖然使用很簡單的API構(gòu)建了window這個復(fù)雜的系統(tǒng),但是構(gòu)建的過程是復(fù)雜的,而這個過程是可以反復(fù)重用的,那么就把這個過程的某些部分形式化為固定的代碼類庫,程序員可以在更高的抽象層次上工作,達到舒適和易學(xué)習(xí)的目的。
    文中所說的java沒有考慮“結(jié)構(gòu)”這個因素,我理解樓主的意思,應(yīng)該是沒有指針吧,因為類天生就是融合了結(jié)構(gòu)的。
  •   對于樓主的有些看法,我更愿意支持樓上的觀點!
    不過這段話寫得很不錯?。?br /> “ 結(jié)構(gòu)就是一段內(nèi)存,每個字段占據(jù)其中固定位置的內(nèi)存空間;
      函數(shù)就是一段內(nèi)存,函數(shù)指針指向內(nèi)存的開始點,調(diào)用函數(shù)時,通過 堆棧壓入變量,調(diào)用結(jié)束后彈出堆棧;
      指針就是內(nèi)存地址,傳遞指針就是傳遞內(nèi)存地址.”
  •   你如果把win32api和xnix的系統(tǒng)api進行對比,你會覺得win32api好恐怖,好復(fù)雜 ~v~
  •   樓上,win32 API包含大量的GDI函數(shù),xnix的對應(yīng)物都放在X11里了
    你知道的,X11的API更恐怖。
  •   根據(jù)樓主的觀點,微軟根本就不應(yīng)該搞什么 .net 和 c#
  •   樓主大概還在學(xué)校讀書吧。沒出來混過就是見解獨特。
  •   我也曾經(jīng)有過這樣的疑問:)
    有了c為什么還要那么復(fù)雜的c++;
    有了api為什么還要有mfc;
    有了dll為什么還需要那么復(fù)雜的com.;
    有了com為什么又有.net;
    我的理解是,他們都是為了提供更高的抽象,讓你在更高的層次解決問題
    靠!
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7