注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)網(wǎng)絡(luò)編程Windows編程啟示錄

Windows編程啟示錄

Windows編程啟示錄

定 價(jià):¥49.00

作 者: (美)Raymond Chen;聶雪軍 譯
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: Windows編程

ISBN: 9787111219194 出版時(shí)間: 2007-08-01 包裝: 平裝
開本: 16 頁數(shù): 335 字?jǐn)?shù):  

內(nèi)容簡介

  為什么Windows的工作方式是這樣的? 為什么“關(guān)機(jī)”選項(xiàng)要放在開始菜單中(還有,為什么會(huì)設(shè)計(jì)一個(gè)“開始”按鈕)? 我怎么才能進(jìn)入到對(duì)話框的消息循環(huán)中? 為什么GetWindowText函數(shù)會(huì)有著奇怪的行為? 為什么注冊(cè)表文件會(huì)被稱作“蜂窩”? 如果我們追溯Windows的歷史,就會(huì)發(fā)現(xiàn)在Windows中許多奇怪的事情都有著合乎邏輯的解釋。在理解了這些事情之后,您不僅能夠獲得開發(fā)能力的大幅提升,同時(shí)也能夠避免遭受更多的挫折。Raymond Chen在Micorsoft的Windows開發(fā)團(tuán)隊(duì)中工作了十余年,他將為您揭開那些有必要知道的“Windows內(nèi)幕” Chen風(fēng)趣的寫作風(fēng)格、深入的洞察力以及引人深思的幽默,使他成為了世界上最優(yōu)秀的技術(shù)博客作者之一(博客地址:http://blogs.msdn.com/oldnewthing/)。在本書中,他不僅給我們帶來了許多幕后的故事,寶貴的技術(shù)建議,還帶來了許多啟發(fā)性的軼事;這些都將幫助您最大程度地理解Windows?!?如何設(shè)計(jì)像自動(dòng)售貨機(jī)那樣有效的用戶界面。 ● 深入理解窗口和對(duì)話框的管理機(jī)制。 ● 為什么性能優(yōu)化與我們?cè)谥庇X上的理解很不一樣? ● COM對(duì)象和Visual C++編譯器的薄弱之處。 ● 向后兼容的關(guān)鍵技術(shù)細(xì)節(jié)——Windows的做法以及這樣做的原因。 ● 大多數(shù)開發(fā)人員所不知道的Windows程序安全漏洞。 ● 如何使您的程序更好地在Windows系統(tǒng)中運(yùn)行,做一個(gè)Windows系統(tǒng)的“良 好市民”。如果我們追溯Windows的歷史,就會(huì)發(fā)現(xiàn)Windows其中隱藏了許多奇怪的但都合乎邏輯的解釋。Raymond Chen在微軟工作了許多年,他見過許多關(guān)于Windows的趣事,而其他人可能只是略知一二。在這本書中,Raymond Chen將與您一起分享他的知識(shí)、經(jīng)歷以及Windows的一些奇聞?shì)W事,本書將幫助我們更好地理解這個(gè)每天影響著成千上萬人的操作系統(tǒng)。每個(gè)人都能夠從本書中得到他們想要的東西。不僅如此,這本書讀起來也很輕松,從回憶Windows中“開始”按鈕的設(shè)計(jì)過程,到討論只有極客(Geek,指對(duì)技術(shù)極為癡迷的人)才會(huì)喜歡的GlobalAlloc,幾乎涵蓋了Windows系統(tǒng)從高層到底層的方方面面,可以說這是一本引人入勝的奇聞?shì)W事集,它將幫助您真正地體會(huì)在設(shè)計(jì)和編寫高質(zhì)量軟件時(shí)所存在的困難以及蘊(yùn)含于其中的樂趣。 本書通過一系列短文來講解Windows基本原理,例如:窗口和對(duì)話框的管理機(jī)制,如何設(shè)計(jì)像自動(dòng)售貨機(jī)那樣有效的用戶界面,對(duì)性能優(yōu)化的理解,向后兼容的關(guān)鍵技術(shù)細(xì)節(jié),Windows程序的安全漏洞,如何使程序更好地在Windows系統(tǒng)中運(yùn)行等。本書不僅講解Windows幕后的許多故事、寶貴的技術(shù)建議,還包括了許多啟發(fā)性的軼事,這些都將幫助讀者最大程度地理解Windows。.本書適合于軟件開發(fā)人員,或?qū)indows的發(fā)展歷史有興趣的讀者。

作者簡介

  Raymond Chen是微軟公司W(wǎng)indows部門的一位軟件工程師。他的博客“The Old New Thng”主要討論Windows發(fā)展歷史以及Win32編程。他還為TechNet雜志撰寫Wineows Confidential專欄。譯者簡介聶雪軍,2002年起從事軟件開發(fā)工作,主要開發(fā)語言為C++,具有較豐富的Windows和Linux開發(fā)經(jīng)驗(yàn)。譯作有《C++編程風(fēng)格》、《Exceptional C++中文版》等。

圖書目錄

譯者序
前言
第1章 用戶界面設(shè)計(jì)初探
為什么要單擊“開始(Start)”按鈕來關(guān)機(jī)?
為什么Windows沒有“專家模式”?
對(duì)話框的默認(rèn)按鈕是“取消”
最好的設(shè)置是:即使你沒有意識(shí)到這些設(shè)置的存在,但它們依然按照你所期望的方式在工作。
為了顯示我們超群的智慧,現(xiàn)在就來問一個(gè)你回答不了的問題
為什么安裝程序不會(huì)問你是否希望保留操作系統(tǒng)文件的新版本?
功能設(shè)計(jì)的思考
什么時(shí)候應(yīng)該禁止選項(xiàng),而什么時(shí)候又該刪除選項(xiàng)?
什么時(shí)候應(yīng)該將“…”放在按鈕或者菜單項(xiàng)的后面?
自動(dòng)售貨機(jī)的用戶界面設(shè)計(jì)
室內(nèi)門鎖的用戶界面設(shè)計(jì)
Windows界面中“睫毛膏”的演變

第2章 Windows 95 的精選回憶錄
為什么在世界地圖中,當(dāng)前時(shí)區(qū)沒有被加亮顯示?
為什么當(dāng)內(nèi)存超過1G時(shí),Windows 95無法啟動(dòng)?
為什么在Windows 95中有些函數(shù)叫作BEAR,BUNNY和PIGLET?
BOZOSLIVEHERE和TABTHETEXTTOUTFORWINMPS表示什么含義?
在Windows 95特別版的包裝盒中都有些什么東西?
Windows引出了每個(gè)人的羅爾沙赫氏測(cè)試
登錄時(shí)的武術(shù)圖片
為什么一個(gè)非常大的詞典反而是不好的?
了解Windows 95的啟動(dòng)聲音
如果你不在意正確性的話,那么編寫一個(gè)專欄是非常容易的
為什么在系統(tǒng)屬性頁中對(duì)內(nèi)存大小進(jìn)行了取整?
為什么硬盤的指示燈每隔幾秒鐘閃一下?
尋求更快的系統(tǒng)陷阱
一個(gè)字節(jié)曾經(jīng)價(jià)值一美元
每個(gè)產(chǎn)品支持電話的費(fèi)用相當(dāng)于賣出一個(gè)Windows拷貝
為什么在Windows的光盤中沒有包含Tweak UI?
不能通過xcopy來安裝Windows
買下一個(gè)Egghead軟件商店
Windows PowerToy的歷史故事
Windows是如何選擇最終構(gòu)建編號(hào)?
為什么在安裝系統(tǒng)補(bǔ)丁包時(shí),系統(tǒng)的構(gòu)建編號(hào)不會(huì)增加?

第3章 GetWindowText的秘密
窗口是如何管理文本的?
深入GetWindowText函數(shù)
如果我不喜歡這些規(guī)則,那該怎么辦?
能否給出一個(gè)說明這種差異的示例程序?
為什么GetWindowText的規(guī)則如此奇怪?

第4章 任務(wù)欄與通知區(qū)域
為什么有些人把任務(wù)欄叫作“托盤”?
為什么任務(wù)欄默認(rèn)是在屏幕的底部?
為什么在任務(wù)欄中的時(shí)鐘并不顯示秒?
為什么在任務(wù)欄中不顯示模擬時(shí)鐘?
當(dāng)任務(wù)欄豎直??繒r(shí),為什么“開始”按鈕上的文本消失了?
為什么當(dāng)用戶點(diǎn)擊“X”按鈕,通知圖標(biāo)不會(huì)得到一個(gè)消息?

第5章 令人困惑的界面問題
那些小小的覆蓋圖標(biāo)是什么?
為什么當(dāng)我登錄的時(shí)候,有些我不希望看到的文件/文件夾會(huì)自動(dòng)打開?
對(duì)文件來說,文件名字體的顏色代表什么含義?
為什么在高級(jí)選項(xiàng)對(duì)話框中,在每個(gè)選項(xiàng)后面都會(huì)加上“開”或者“關(guān)”?
是什么決定了Alt+Tab中圖標(biāo)的順序?
為什么文件夾的只讀屬性非常奇怪?
當(dāng)我點(diǎn)擊空白的任務(wù)欄按鈕時(shí),這些按鈕消失了,發(fā)生了什么事?
“最小化所有窗口”和“顯示桌面”之間的區(qū)別是什么?
在菜單中的粗體文本表示什么含義?
自定義的網(wǎng)頁圖標(biāo)是從何而來的?
任務(wù)管理器的標(biāo)簽和按鈕到哪里去了?
拖動(dòng)一個(gè)文件是表示移動(dòng)還是復(fù)制?
為什么“鏈接”文件夾總是會(huì)不斷地自我創(chuàng)建?
為什么當(dāng)你同時(shí)選擇多個(gè)文檔進(jìn)行打印時(shí),文檔的打印順序是亂的?
我在產(chǎn)品支持部門的一天
吹掉連接器上的灰塵
1G字節(jié)到底有多少?
為什么不能刪除“僅用于測(cè)試/評(píng)估”的標(biāo)記?

第6章 GLOBALALLOC函數(shù)的歷史
從前的故事
選擇符
過渡到Win32
實(shí)現(xiàn)一瞥

第7章 Windows編程中的一些話題
“臨時(shí)”程序
獲得在標(biāo)題圖標(biāo)中的自定義右鍵菜單
CreateMenu與CreatePopupMenu有什么區(qū)別?
為什么窗口管理器會(huì)自動(dòng)銷毀菜單?
僅當(dāng)窗口在屏幕上可見時(shí)才進(jìn)行繪制。
判斷窗口是否被覆蓋了?
用位圖刷來實(shí)現(xiàn)平鋪效果
DC畫刷的好處是什么?
用ExtTextOut函數(shù)來繪制實(shí)心矩形
用StretchBlt函數(shù)來繪制實(shí)心矩形
在顯示字符串時(shí)去掉那些難看的方框
沒有所有者的信號(hào)量
自動(dòng)復(fù)位的事件只是一個(gè)愚蠢的信號(hào)量

第8章 窗口管理
為什么會(huì)收到偽WM_MOUSEMOVE消息?
為什么沒有WM_MOUSEENTER消息?
白屏
空心畫刷的作用是什么?
桌面窗口的有什么特殊的地方?
禁止窗口和激活窗口的正確順序。
在恢復(fù)窗口位置時(shí)的問題。
界面模態(tài)與代碼模態(tài)
WM_QUIT消息與模態(tài)
為模態(tài)界面設(shè)置正確的所有者窗口
與進(jìn)入到模態(tài)的程序進(jìn)行交互
定時(shí)消息框的簡單版本
臨時(shí)窗口
在GWLP_USERDATA中的附加窗口數(shù)據(jù)
定時(shí)消息框的改進(jìn)版本
定時(shí)右鍵菜單
為什么窗口在被銷毀之后還會(huì)收到消息?

第9章 關(guān)于硬件的回憶錄
硬件的向后兼容性
光驅(qū)
微軟公司的網(wǎng)絡(luò):比“地獄”差1.7倍
有時(shí)候制造商會(huì)侮辱他們自己?
欺騙WHQL的驅(qū)動(dòng)程序認(rèn)證過程
20英尺長的計(jì)算機(jī)
USB手推車
檢測(cè)到了新設(shè)備:波音 747
超頻帶來的問題

第10章 對(duì)話框管理器的內(nèi)部工作機(jī)制
關(guān)于對(duì)話框過程
對(duì)話框過程的返回值
一種不同類型的對(duì)話框過程。
另一種不同類型的對(duì)話框過程
對(duì)話框模板的發(fā)展
經(jīng)典的16位模板
經(jīng)典的32位模板
16位擴(kuò)展模板
32位擴(kuò)展模板
小結(jié)
為什么需要對(duì)話框模板?
對(duì)話框是如何創(chuàng)建的
對(duì)話框創(chuàng)建的準(zhǔn)備工作
創(chuàng)建框架窗口
創(chuàng)建控件
模態(tài)對(duì)話框的消息循環(huán)
基本的對(duì)話框消息循環(huán)
為什么要按照這種方式來構(gòu)造對(duì)話框消息循環(huán)?
將非模態(tài)對(duì)話框轉(zhuǎn)換為模態(tài)對(duì)話框
消息循環(huán)中的微妙問題
消息循環(huán)中其他的微妙問題
對(duì)話框中的自定義導(dǎo)航
對(duì)話框中的自定義快捷鍵
嵌套對(duì)話框以及DS_CONTROL
“啟動(dòng)器”工具
根據(jù)內(nèi)部對(duì)話框來調(diào)整大小
為什么需要對(duì)話框循環(huán)?
為什么對(duì)話框編輯器從100開始設(shè)置控件的ID?
在DefDlgProc函數(shù)中做了哪些操作工作?
如何在對(duì)話框中設(shè)置焦點(diǎn)
為什么SetFocus函數(shù)不會(huì)管理默認(rèn)的ID?
不要將焦點(diǎn)設(shè)置在被禁止的控件上
在IsDialogMessage中做了什么工作?
用Tab鍵來在非對(duì)話框中導(dǎo)航
對(duì)話框的“默認(rèn)ID”是什么?
如何使用WM_GETDLGCODE消息
在IsDialogMessage中做了什么工作?
為什么有些消息框中的X按鈕是被禁止?

第11章 常見的軟件問題
為什么夏令時(shí)與我們的直覺不同?
為什么當(dāng)文件被復(fù)制到軟盤時(shí),文件的時(shí)間戳將發(fā)生改變?
不要相信返回地址
編寫排序比較函數(shù)
你可以從另一邊來理解契約
實(shí)用主義和純粹主義之間的爭論
優(yōu)化通常是違背直覺的
在服務(wù)器上,分頁=死機(jī)
不要保存任何能夠重新計(jì)算的結(jié)果
增加其他組件的開銷來提升性能
輪循的性能問題
檢測(cè)內(nèi)存泄漏的簡單方法
不好的緩沖策略將導(dǎo)致內(nèi)存泄漏

第12章 深入研究Visual C++編譯器
析構(gòu)函數(shù)在什么時(shí)候調(diào)用?
COM對(duì)象的布局
調(diào)節(jié)轉(zhuǎn)換器
指向成員函數(shù)的指針是非常奇怪的
什么是__purecall?

第13章 向后兼容性
有些應(yīng)用程序的本意就是程序崩潰
當(dāng)程序使用那些未正式公布的結(jié)構(gòu)時(shí)
為什么不禁止那些使用了未正式公布行為的程序?
為什么16位DOS和16位Windows仍然存在
對(duì)于像NUL和CON這樣的保留文件名該如何處理?
為什么(有時(shí)候)在UNC路徑前面是一個(gè)驅(qū)動(dòng)器盤符?
不要輕視“獵鹿者”這個(gè)游戲的威力
有時(shí)候,游戲中的錯(cuò)誤只有在玩了一段時(shí)間后才會(huì)顯現(xiàn)出來
Shell Folders鍵的故事
保持錯(cuò)誤碼的向后兼容性是很重要的
沒錯(cuò),我們實(shí)現(xiàn)了這個(gè)功能
有些程序在為操作系統(tǒng)打補(bǔ)丁時(shí)將陷入困境
即使在內(nèi)部數(shù)據(jù)結(jié)果中也存在著兼容性問題
為什么Windows讓BIOS時(shí)間保持為本地時(shí)間。
版本號(hào)的檢測(cè)
破壞IUnknown::QueryInterface的幾種方式
當(dāng)程序假設(shè)系統(tǒng)永遠(yuǎn)不會(huì)發(fā)生改變——之一
當(dāng)程序假設(shè)系統(tǒng)永遠(yuǎn)不會(huì)發(fā)生改變——之二
偽顯示控制面板
偽可視化風(fēng)格

第14章 一些名字的來源和歷史
在WPARAM和LPARAM中,字母W和L分布表示什么意思?
為什么在Windows98中,顯示器的最大數(shù)量是9?
為什么注冊(cè)表文件被叫作蜂房?
16位Windows中對(duì)資源的內(nèi)存管理
HINSTANCE和HMODULE之間的區(qū)別是什么?
在WinMain函數(shù)中,hPrevInstance參數(shù)的作用是什么?
為什么GlobalWire函數(shù)被叫作這個(gè)名字?
LocalAlloc和GlobalAlloc之間的區(qū)別是什么?
GMEM_SHARE標(biāo)志的作用是什么?
為什么在轉(zhuǎn)換到LPARAM之前會(huì)進(jìn)行一個(gè)多余的轉(zhuǎn)換?
為什么有些注冊(cè)表函數(shù)的名字以Ex結(jié)尾?
SHGetMalloc,SHAlloc和CoGetMalloc之間的區(qū)別是什么?
為什么Windows錯(cuò)誤報(bào)告程序的昵稱是Dr.Warson?
DirectX 4出了什么問題?
為什么HANDLE類型的返回值是很不一致的?
為什么文本文件是以Ctrl+Z來結(jié)束的?
為什么行結(jié)束符是CR+LF?
TEXT,__TEXT與__T和UNICODE與__UNICODE
為什么對(duì)話框在初始創(chuàng)建的時(shí)候是隱藏的?
當(dāng)程序在內(nèi)部進(jìn)行修改時(shí),沒有人會(huì)注意
如果FlushInstructionCache沒有做任何事情,那么為什么還要調(diào)用這個(gè)函數(shù)?
如果InitCommonControls沒有做任何事情,那么為什么還要調(diào)用這個(gè)函數(shù)?
為什么InterlockedIncrement/InterlockedDecrement這兩個(gè)函數(shù)只是返回結(jié)果的符號(hào)?
為什么會(huì)有一個(gè)WSASetLastError函數(shù)?
為什么在Windows中使用了基于廣播的機(jī)制?
在任務(wù)欄出現(xiàn)之前,窗口最小化之后被放到了什么地方?
為什么在計(jì)算桌面窗口大小時(shí)會(huì)把任務(wù)欄也包含在內(nèi)?
為什么在按下Alt鍵時(shí),光標(biāo)將停止閃爍?
ES_OEMCONVERT風(fēng)格的作用是什么?
隱藏在文件系統(tǒng)隧道后面的故事
為什么NTFS和資源管理器在對(duì)文件名進(jìn)行排序時(shí)是不一致的?
日期/時(shí)間控制面板并不是日歷
Windows95如何來重新設(shè)定DLL的加載基址?
SYSTEM_FONT和DEFAULT_GUI_FONT是什么字體?
為什么上下控件中的箭頭是相反的?
Windows 95發(fā)布會(huì)的門票

第15章 窗口消息的發(fā)送與接收
發(fā)送消息和投遞消息
發(fā)送消息的生命期
投遞消息的生命期
生成的投遞消息
SendMessageCallback將在什么時(shí)候調(diào)用回調(diào)函數(shù)?
當(dāng)消息超時(shí)后,SendMessageTimeout函數(shù)將會(huì)執(zhí)行什么操作?
澄清一些關(guān)于消息處理的謬論
如何知道消息的發(fā)送者/投遞者?
不能用PostMessage來模擬鍵盤輸入

第16章 國際化編程
在Unicode上進(jìn)行大小寫映射是很困難的
關(guān)于錯(cuò)誤大小寫映射的趣事
為什么不能旋轉(zhuǎn)文字?
0409和1033是些什么目錄?
注意編碼頁
為什么默認(rèn)的8比特編碼頁被叫作“ANSI”?
為什么默認(rèn)的控制臺(tái)編碼頁被叫作“OEM”?
為什么OEM編碼頁經(jīng)常被叫作ANSI?
在Unicode和ANSI之間的轉(zhuǎn)換結(jié)果是合理的但也是奇怪的

第17章 安全
所有用戶都可以寫入的文件
在資源管理器中隱藏文件
竊取密碼
未驗(yàn)證驅(qū)動(dòng)程序的靜默安裝
調(diào)試代碼可能是一個(gè)安全漏洞
為什么共享數(shù)據(jù)段是一個(gè)安全漏洞
IE的增強(qiáng)安全配置并不信任內(nèi)部網(wǎng)絡(luò)

第18章 Windows 2000和Windows XP
為什么在XP開始菜單的“所有程序”列表中沒有智能菜單?
為什么沒有可以訪問開始菜單中快速啟動(dòng)列表的函數(shù)接口?
為什么Windows XP Service Pack 2有時(shí)候會(huì)忘記CD自動(dòng)播放設(shè)置?
不安全設(shè)備刪除對(duì)話框
關(guān)于Windows XP 中建議?按鈕的兩段回憶
為什么資源管理在刻錄完光盤之后會(huì)把光盤彈出來?
為什么Windows安裝程序會(huì)生成新的啟動(dòng)扇區(qū)?
超自然力調(diào)試法:為什么在四處理器的機(jī)器中有三個(gè)處理器沒有發(fā)揮作用
超自然力調(diào)試法:為什么CPU使用率總在50%上下徘徊
DS_SHELLFONT標(biāo)志的作用是什么?
為什么DS_SHELLFONT = DS_FIXEDSYS | DS_SETFONT?
DS_SHELLFONT在屬性頁上的效果是什么?

第19章 Win32中的設(shè)計(jì)問題
為什么在無法解析某個(gè)導(dǎo)入函數(shù)時(shí),Win32不能加載這個(gè)模塊?
為什么要仔細(xì)檢查結(jié)構(gòu)的大???
為什么必須為了WM_DEVICECHANGE返回這個(gè)奇怪的值?
程序和用戶之間的戰(zhàn)爭
為什么不能截獲TerminateProces函數(shù)調(diào)用?
為什么有些進(jìn)程在被終止之后還停留在任務(wù)管理器中?
理解WAIT_ABANDONED所帶來的結(jié)果
為什么不能將超鏈接放在通知圖標(biāo)氣球提示中?
為什么在樹型控件中不能多次使用同一個(gè)節(jié)點(diǎn)?
奇怪的STRRET結(jié)構(gòu)
為什么不能將UTF-8設(shè)置為系統(tǒng)的ANSI編碼頁?
什么時(shí)候應(yīng)該使用下沉的客戶區(qū)?
為什么沒有包羅萬象的Windows版本?
為什么禁止桌面窗口也是可能的?
窗口和菜單的嵌套限制分別是多少?
HWND_TOP和HWND_TOPMOST之間的區(qū)別是什么?

第20章 “稅收”
層次存儲(chǔ)管理
地緣政治學(xué)
遠(yuǎn)處桌面連接與繪制
快速用戶切換和終端服務(wù)
多用戶
漫游用戶配置文件
重定向文件夾
“我的文檔”與“應(yīng)用程序數(shù)據(jù)”
大地址空間
電源管理和檢測(cè)電池的電量
間歇性的網(wǎng)絡(luò)連接
反走樣字體和ClearType技術(shù)
高DPI顯示
多顯示器
工作區(qū)
在正確的位置上顯示彈出窗口
輔助功能

第21章 一些可笑的故事
非常容易誤解的“空”操作
不要讓市場(chǎng)部門搞亂你的幻燈片
異想天開的錯(cuò)誤報(bào)告
小心這些示例URL
任何代碼都不是孤立的
我在Viusal Basic方面很專業(yè)
半透明的塑料
我遭遇的第一次死亡威脅
你無法擺開這些AOL CD
在接入電腦的電源之前給出嚴(yán)正的警告
蜘蛛紙牌不再排名第一
關(guān)于Red Poker的一些事情
注意產(chǎn)品小組的名字
分發(fā)列表的命名心理學(xué)
經(jīng)理和程序員之間的區(qū)別
用軟驅(qū)作為信號(hào)量
當(dāng)一個(gè)標(biāo)志中途改變了所代表的含義
把異想天開的尷尬作為一種溫和的指責(zé)方式
用物理對(duì)象來作為提醒
辦公室里的迪士高舞會(huì)
萬圣節(jié)主題的大廳

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)