星期四, 九月 22, 2011

如何製作能安裝Windows 8的USB隨身碟

我曾經寫過一篇如何製作能安裝Windows 7的USB隨身碟,其實按照該文的《在Windows 7環境製作》及《更簡單的作法》,也能將Windows 8 ISO檔轉製到USB隨身碟,不過本文所提供的作法,是利用微軟提供的免費程式Windows 7 USB/DVD Download Tool,這是一種更快速便利的作法。

微軟曾在2009年10月底釋出免費的Windows 7 USB/DVD Download Tool,這支程式可以將Windows 7 ISO檔燒成DVD光碟,也可以轉製到USB隨身碟,讓使用者以最後得到的DVD光碟或USB隨身碟來開機並安裝Windows 7。

但後來發現這支程式似乎用了GPL程式碼,微軟因而撤掉這支程式的網頁及下載點。不過現在我們又可以從微軟的Misrosoft Store網站下載Windows 7 USB/DVD Download Tool。而且這支程式也可以用在Windows 8。

Windows 7 USB/DVD Download Tool可以將Windows 7或Windows 8的ISO檔燒成光碟或轉製成USB隨身碟,而此光碟或USB隨身碟即可用來開機並安裝Windows 7或Windows 8。

開始動作之前,需要先下載Windows 8 ISO檔以及Windows 7 USB/DVD Download Tool,接著要安裝Windows 7 USB/DVD Download Tool,並且插入USB隨身碟,然後執行這支程式,即可在4個步驟完成ISO燒成光碟或轉製成USB隨身碟。

步驟1

第1個步驟(如上)要選取欲處理的ISO檔,按下『Browse』按鈕即可選取下載回來的Windows 8 ISO檔。第2個步驟(如下)則要選擇製作的媒體:欲燒成光碟請按『DVD』按鈕);若欲轉製成USB隨身碟,請按『USB device』按鈕。如果按下『Start over』按鈕,會跳回步驟1。

步驟2

此例我們按下『USB device』按鈕,因此步驟3要選取USB隨身碟(如下)。請留意你所插入的隨身碟或光碟容量,足以放置ISO檔的內容。如果你的USB隨身碟未出現,可按下雙箭頭的『Refresh』圖示,這會重新讀取已插入系統的外接儲存裝置。

步驟3

由於會完全清空隨身碟內容,因此程式會以兩次交談窗告知(如下),分別按下『Erase USB Device』和『是』,就會開始轉製成隨身碟(或燒成光碟)。

步驟4

當進度跑到100%、進度列變成紅色,而且不見『Cancel』按鈕(如下),就表示已經完成了。按交談窗右上角的X即可結束此程式。

完成

現在就可以利用此Windows 7 USB/DVD Download Tool所產生的光碟或USB隨身碟來開機並安裝Windows 8了。最後提醒你,利用USB隨身碟來開機及安裝Windows 8,電腦必須支援USB裝置開機,而且你可能也要自行設定BIOS,讓電腦能以USB隨身碟開機。


[全文]

星期三, 九月 21, 2011

開啟Windows 8的休眠功能

初用Windows 8往往不適應新的Metro UI,甚至連關機或休眠都找不到;好不容易找到了,才發現怎麼沒有休眠?

hibernate1

休眠和睡眠的差別,可以參閱微軟的解釋。Windows 8的電源功能表預設並沒有『休眠』;如上圖只有『睡眠』、『關機』、『重新啟動』,我們可以利用『控制台』開啟『休眠』。

許多方法可以啟動傳統桌面的『控制台』,例如在『檔案總管』的位址列輸入Control Panel,再按『Enter』鍵。接著以滑鼠點選『Hardware and Sound』,再點選『Power Options』底下的『Change what the power buttons do』,就會出現如下設定畫面:

欲更改的設定就在這個畫面裡,但目前不能更改,必須先以滑鼠點選畫面中的『Change settings that are currently unavailable』。接著往下捲動畫面,找到『Power options settings』,再勾選『Show Hibernate』,最後請按下『Save changes』按鈕。

現在的電源功能表就會出現『Hibernate』,也就是休眠。

hibernate4


[全文]

星期二, 九月 20, 2011

Windows 8的64位元IE10

如果安裝的Windows 8是x64版本,就能以64位元的模式執行IE10;但是預設的執行模式為32位元(因此需要手動調整)。

About Internet Explorer 10 (32-Bit)

這很合理,因為許多IE的延伸模組都還是32位元,無法與64位元的IE配合。上圖是以32位元模式執行時的IE10關於交談窗,下圖則是64位元。

About Internet Explorer 10 (64-Bit)

IE10的『Manage Add-ons』會顯示外掛模組的架構版本,請執行IE10的『Tools/Manage Add-ons』,會出現如下圖的交談窗,其中的『Architecture』欄位,會顯示模組是32位元還是64位元(你可能需要利用交談窗左側的『Show』下拉式列示盒,才能列出所有的模組)。

Manage Add-ons

如果要改成64位元模式執行IE10,請執行IE10的『Tools/Internet Options』,這會顯現『Internet Options』交談窗,請再點選『Security』標籤頁,只要勾選『Enable 64-bit Mode』、按下『OK』按鈕,再重新啟動IE10,IE10就會以64位元模式執行。請留意,4種不同的區域皆可決定要不要以64位元模式執行IE10。

Internet Options

重新啟動之後,在IE10視窗下緣會出現如下的警訊「區域設定妨礙了某些外掛模組的執行」,原因是64位元模式無法與32位元的外掛模組配合。

如果將IE10連到使用了32位元IE延伸模組的網站--例如使用Adobe Flash的YouTube網站,頁面會顯示「必須升級Adobe Flash Player才能觀看影片」的訊息,並且會附上下載Flash Player的超連結。如果按下該連結,Adobe網站的說明是「目前的Flash Player不支援64位元,要等到下一個版本才支援(目前已有測試版)」。

所以,如果要以64位元模式執行IE10,應留意相關的延伸模組是不是已經支援64位元,不然的話,還是要以32位元模式執行IE10。

不過本文提及的是傳統Windows程式的IE10,而非Metro IE10。Metro IE10的執行是所謂的plug-in free,也就是執行時不會載入任何外掛模組。


[全文]

星期一, 九月 19, 2011

讓Windows 8自動登入系統

Windows 8有許多操作技巧是與前版Windows相通,例如自動登入系統。

提醒你,自動登入系統會造成系統完全門戶洞開;輸入名稱及通行碼才能登入系統雖然麻煩,但還是對系統有基本的保護。

首先要找出更改自動登入的程式。請先執行Search,並且將搜尋對象定為APP,再輸入netplwiz作為關鍵字,就能找到更改自動登入的程式;找到之後請以滑鼠按下執行(如下圖)。

User Accounts

接著請先取消『Users must enter a user name and password to use this computer』(也就是『必須輸入使用者名稱和密碼,才能使用這台電腦』),然後按下『OK』按鈕。這會出現如下交談窗,要求你輸入欲自動登入系統的帳號,包括使用者名稱及通行碼:

Automatically Log On

只要名稱、通行碼無誤,下一次開機就會以這個帳號自動登入系統。


[全文]

星期五, 九月 16, 2011

Windows 8開發者預覽版初體驗

微軟已經釋出開發者預覽版(Windows Developer Preview)的Windows 8,而且人人皆可下載安裝,完全不設限制。

如果想要下載,可連到MSDN的下載網頁(MSDN訂閱者請到專屬網頁,下載速度應該會比較快),並且有3種選擇(但都是英文版):

  • Windows Developer Preview with developer tools English, 64-bit (x64):4.8 GB,除了Windows 8及Metro應用程式,還包含最新的Windows SDK、Microsoft Visual Studio 11 Express開發者預覽版、Microsoft Expression Blend 5開發者預覽版等開發工具。
  • Windows Developer Preview English, 64-bit (x64):3.6 GB,包含x64版本的Windows 8及Metro應用程式。
  • Windows Developer Preview English, 32-bit (x86):2.8 GB,包含x86版本的Windows 8及Metro應用程式。

如果是MSDN訂閱者,還可在專屬網頁單獨下載到Symbols、SDK等開發相關工具。

基本上,PC版Windows 8的硬體要求與Windows 7相似,只要能執行Windows 7,就能執行Windows 8。而且也可以將Windows 8安裝在虛擬機器,甚至可以與Windows 7雙重開機,或者裝在Mac機器

要提醒你的是,如果下載的是4.8 GB的Windows Developer Preview with developer tools,必須以支援dual-layer的DVD燒錄器及DVD-9的光碟片來燒錄,才有足夠空間燒錄這個ISO檔。另一種作法,則是將這個4.8 GB的ISO檔,轉製到USB隨身碟,再以此隨身碟開機、安裝。

這個預覽版的Windows 8安裝過程與Windows 7相同,最大的差異是裝完之後的綠底設定畫面(這裡有過程的各個畫面)。但完成設定進入Windows 8之後,縱使之前我已經看過許多關於Windows 8新UI的文章或報導,第一次面對Windows 8新UI,我還是驚呼了一聲「哇~」。

Windows 8有2種UI:原本的UI和新的Metro UI;Metro是針對觸控行動裝置設計,能讓平板使用者擁有更好的操作體驗。而從Windows 95 引進的『開始』功能表,在Windows 8則由如下圖的Start畫面所取代(由於目前只有英文版,姑且先沿用原文的Start):

Start畫面

會佔用全螢幕的Start畫面有許多大大小小的方塊,這些方塊稱為「磚」,相當於程式捷徑;例如按下左上角的Internet Explorer,就會啟動內建的IE10。Start畫面的磚可以動態呈現資訊,稱為live application tile;例如上述的Popular Session,其實是微軟BUILD研討會的訊息。

Windows 8除了能執行傳統的Windows應用程式,也引進了新的Metro介面;例如以下是Metro介面的『控制台』。

Metro介面的控制台

初來乍到,我還不適應Metro介面,包括Start畫面。但是Metro介面就非常適合手機或平板等尺寸較小且具觸控的裝置。這個Windows 8預覽版的『開始』功能表其實還是存在,但是要透過修改登錄機碼才能再現:

  1. 找出HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer機碼。
  2. 將RPEnabled的值改成0,『開始』功能表就回來了(改回1則使用Start畫面)。

伴隨著Windows 8,微軟也釋出了新版的Windows Server、Visual Studio等,但這些僅限MSDN訂閱者才能下載。


[全文]

星期二, 八月 23, 2011

《Windows系統程式設計 第四版》勘誤表

這裡列出了此書勘誤。感謝每一位指正錯誤的人。

頁碼 位置 原本的內容 更正後的內容
15 結果1-1的圖 該圖誤植 正確的圖如下。

 

Hart_Run1-1_g_ds
(P.15)結果1-1 cpC:執行與測試


[全文]

星期四, 六月 09, 2011

《Windows系統程式設計 第四版》特價出售

全新書籍,原價680元,現以特價530元(含運費)廉售。

十餘本全新的書,與市面上所買到的完全相同。如果您想以特價購買,交易將採銀行匯款,您的匯款入帳後,我會以中華郵政便利袋寄出書籍。根據我收到您匯款的時間,您應該會在匯款後的隔天或兩天之內收到書。但若遇週末則會順延,請見諒。此外,請需要發票者勿訂購。

訂購的流程如下:

  1. 欲購者請先發電子郵件到如下的帳號,除了註明欲購此書,也請註明收件者、寄送地址、聯絡電話:
  2. 欲購者會收到內含匯款銀行帳號的回信,請欲購者將書款530元匯入信中指定的銀行帳戶;因為數量只有十餘本,因此有可能收到書已售完的回信。
  3. 匯款後,請欲購者再以電子郵件回覆匯款的帳號及時間(請參閱匯款明細表所載)。
  4. 確認後隨即以中華郵政便利袋寄書,並會以電子郵件通知。

其他注意事項,請見諒:

  1. 我保有接受訂單與否的權利。
  2. 不接受留言訂購,請以電子郵件訂購。
  3. 接受面交,但還是請以電子郵件訂購,而且僅限台北捷運的淡水線、新店線、板南線的沿線車站。
  4. 我會善盡保管訂購者個人資料的責任,不會外洩給第三者。

如果還有其他問題,或其他未盡周詳事項,歡迎以留言或電子郵件詢問。謝謝。


[全文]

新書發行:Windows系統程式設計 第四版

《Windows系統程式設計 第四版》是我近期發行的譯作,5年前我翻譯了它的第3版,現在也參與第4版的翻譯。

這是一本討論Windows API的書籍,是以C語言配合Windows SDK作為實作方式,而且討論的是「較為」底層的API。這本書從Windows的介紹開始談起,以檔案複製作為Windows API程式設計的起點,並且循序的加重深度,也適當的修改所實作的程式,讓程式逐漸具備錯誤檢查、多緒程、非同步控制等等的功能。

為了讓讀者快速找到書中討論的Windows API,我在此版根據原文書索引翻製了本書的《函式相關索引》,這裡面包含了呼叫本書論及函式的相關參考資料,除了Windows API函式、C程式庫函式、UNIX函式,還有旗標、傳回值、型別、結構體、程式語言的修飾詞、關鍵字。希望這份在後期花了不少製作時間的索引,能成為讀者查閱本書函式相關資訊的得力助手。

本書另一特殊之處,是作者附加了相對於UNIX/Linux系統的知識或觀念,例如Windows的代碼到了UNIX/Linux環境變成什麼、要如何實作;這樣的篇幅不少,可以讓熟悉UNIX/Linux程式設計的讀者,對照既有的知識或經驗,更快速瞭解Windows系統。反之,亦可讓熟悉Windows的開發人員瞭解另一個世界。

此外要提醒,書中範例請到作者網站(http://jmhartsoftware.com/)下載,而且作者會不定期更新範例檔。範例檔裡面包含了完整的程式碼、專案檔和編譯過的執行檔,尤其為了節省列印的篇幅,書中大多只列出範例的重點程式碼,若想一窺範例全貌,就需要上網下載。

致謝

能參與翻譯這本很有歷史的經典書籍,我必須向一些直接或間接促成本書的人致謝。首先當然要感謝作者強森‧哈特先生(Johnson M. Hart),他的書啟發了包括我在內的許多讀者,我也希望能有他的本事。

碁峰資訊圖書事業部門蔡彤孟先生是促成了這本翻譯書的最大功臣,這年頭還願意出版這類書籍的出版社真的不多了。此外,翻譯期間也經常因為此書而請教黃昕暐先生,尤其昕暐提供第一版的中文譯稿供我參考,感謝他的協助。

章節目錄

CHAPTER 1 Windows簡介
CHAPTER 2 使用Windows的檔案系統與字元I/O功能
CHAPTER 3 進階的檔案與目錄處理及登錄資料庫
CHAPTER 4 例外處理
CHAPTER 5 記憶體管理、記憶體映對檔與DLL
CHAPTER 6 行程管理
CHAPTER 7 緒程與排程
CHAPTER 8 緒程同步控制
CHAPTER 9 鎖定機制的效能影響及NT6的加強
CHAPTER 10 進階的緒程同步控制
CHAPTER 11 行程間的通訊機制
CHAPTER 12 Windows Sockets網路程式設計
CHAPTER 13 Windows Services
CHAPTER 14 非同步I/O與I/O完成埠
CHAPTER 15 保護Windows物件
APPENDIX A 如何使用範例程式
APPENDIX B 原始碼可攜性:Windows、UNIX、Linux
APPENDIX C 效能測試結果
參考書目
函式相關索引


[全文]

星期日, 六月 05, 2011

《完整學習Visual Basic 2010》特價出售

我有十餘本出版社給作者的《完整學習Visual Basic 2010》全新公關書,想以相當於7.4折的特價廉售給有需要的讀者;原價580元,特價430元(這是包含中華郵政便利袋運費的價錢)。

以下是這本書相關參考資料的連結:

這些都是全新的書,如同在市面所購,每本書都有2張光碟:Visual Studio  2010 Express Edition及範例程式光碟各一;唯一不同,是出版社蓋了「敬請推薦」。如果您無法接受蓋了「敬請推薦」的戳印,請勿訂購。此外,也請需要發票者勿訂購。

交易將採銀行匯款,您的匯款入帳後,我會以中華郵政便利袋寄出書籍。根據我收到您匯款的時間,您應該會在匯款後的隔天或兩天之內收到書。但若遇週末則會順延,請見諒。

訂購的流程如下:

  1. 欲購者請先發電子郵件到如下的帳號,除了註明欲購此書,也請註明收件者、寄送地址、聯絡電話:
  2. 欲購者會收到內含匯款銀行帳號的回信,請欲購者將書款430元匯入信中指定的銀行帳戶;因為數量只有十餘本,因此有可能收到書已售完的回信。
  3. 匯款後,請欲購者再以電子郵件回覆匯款的帳號及時間(請參閱匯款明細表所載)。
  4. 確認後隨即以中華郵政便利袋寄書,並會以電子郵件通知。

其他注意事項,請見諒:

  1. 我保有接受訂單與否的權利。
  2. 不接受留言訂購,請以電子郵件訂購。
  3. 接受面交,但還是請以電子郵件訂購,而且僅限台北捷運的淡水線、新店線、板南線的沿線車站。
  4. 我會善盡保管訂購者個人資料的責任,不會外洩給第三者。

如果還有其他問題,或其他未盡周詳事項,歡迎以留言或電子郵件詢問。謝謝。


[全文]

《完整學習Visual Basic 2010》勘誤表

書籍出版之後,又看到許多未發現的錯誤,堪稱最惱人之事。

這些不該出現錯誤,我很抱歉。亡羊補牢的措施就是製作《完整學習Visual Basic 2010》勘誤表。此外,我也非常感謝讀者利用留言功能,提供您所發現的錯誤。確認之後,我也會加入此處的勘誤表。

頁碼 位置 原本的內容 更正後的內容
1-18 第3段 透過相關技術將軟體所有的檔案遞送給使用者,讓開發出來的軟體能被使用,就是部署最大的目的。部署之後,軟體也就正式上市或上線了。 透過相關技術將軟體所有的檔案遞送給使用者,並設定好執行環境,讓開發出來的軟體能被使用,就是部署最大的目的。
2-30 第2段 這是針對開發人員而作的字型,...,所以排列的寬度一致多了一撇 這是針對開發人員而作的字型,...,所以排列的寬度一致。
3-3 動手做步驟3 如圖3-3選取『新增專案」… 如圖3-3選取『新增專案」…
3-10 第3段 而Console.Read...,但Console.Read讀取... 而Console.Read...,但Console.Read讀取...
4-6 第2點 名稱應簡短但...不利閱讀,例如不利記憶… 名稱應簡短但...不利閱讀不利記憶…
5-6 動手做標題及下方文字 動手做:改良kmm專案
原本kmm專案…
動手做:改良km2m專案
原本km2m專案…
6-4 第4段 If的多行寫法…,形成另1路情況的… If的多行寫法…,形成另1路分支的…
7-29 第3段 j是這3個…,從程式一執行,使… j是這3個…,從程式一執行,使…
10-34 大標題 10-課後習題 10-5  課後習題
11-30 大標題 11-7  重點回顧及課後習題 11-7  課後習題
10-14 步驟17結尾 …也告一段落 …也告一段落
12-4 第1段結尾

…由Windows 指定預設位置。

…由Windows 指定預設位置。

12-16 VisibleChanged項目 …(但只要表單的Visible 屬性有所變更會發生這個事件)… …(但只要表單的Visible 屬性有所變更會發生這個事件)…
12-31 最後一項 …則會傳回文字方塊裡的字 …則會傳回文字方塊裡的字
12-34 倒數第2段結尾

…之後的程式碼都不會執行。此外,如果使用者按ShowDialog對話方塊的按鈕,實際上

…之後的程式碼都不會執行。
13-1 第1段 …。就你使用Windows 的經驗,你應該… …。就你使用Windows 的經驗,你應該…
13-25 DisplayStyle項目結尾 …等4 種選擇 …等4 種選擇。
16-10 第1段 這個部分的動手做到此… 4.  這個部分的動手做到此…
16-19 倒數第2段 現在請按F5 執行… 7.  現在請按F5 執行…
16-29 最後兩段

7. 如果已經關閉…
1. 將Form1 表單…

1. 如果已經關閉…
2. 將Form1 表單…

16-30
~
16-33
每一條列項目 (從16-30頁的第2項,到16-33頁的第9項) (從16-30頁的第3項,到16-33頁的第10項)
17-10 第2段

…這2 組方法的用法相同

…這2 組方法的用法相同


[全文]

新書發行:完整學習Visual Basic 2010

我最近寫了1本Visual Basic的入門書:《完整學習Visual Basic 2010》。

上一次寫書已經是1998年的事情了(WINDOWS 98精華秘笈),事隔13年,終於又有出版社願意讓我出書了,感謝上奇資訊。

這本624頁、黑白印刷的書,是針對Visual Basic初學者所寫。隨書附了2張光碟,一是Visual Studio  2010 Express Edition,另一張是書中範例原始程式。

我也已經為此書製作了勘誤表

Visual Basic程式設計所涵蓋的議題可廣可深,而這本書是以初學者為對象,內容包括Visual Basic 2010語法及Windows程式設計。並且廣設實例作為示範,每章結尾也提供習題,供作讀者或教師評量學習成果。

這本書分成「起、承、轉、合」四篇。「起」包含了程式設計概論、Visual Basic 2010 Express的簡介,是初學Visual Basic的切入點。

「承」開始討論Visual Basic語法,包括資料型別、變數、運算式、流程控制、程序、陣列、物件等。截至「承」篇,本書是以『主控台應用程式』作為範例格式,初衷是希望初學者能單純且專心的面對諸如語法等基礎事務。

「轉」的議題是Windows Form程式設計,這一篇的內容包括GUI、事件驅動、Windows控制項、表單、功能表、工具列、狀態列。而且從這一篇開始,本書範例也加入了GUI元素。

最後一篇「合」,列舉了數種適合初學者的整合應用範例,這些應用皆是Windows Form程式設計的範疇,包括『圖片檢視器』、『計算機』、『文字編輯器』。最後一章則涵蓋了小但實用的數種技巧,並且也會討論結構化例外處理。

以下是這本書的目錄。

Part 1 承 ─ 萬事起頭不一定難

第1 章 話說Visual Basic 程式開發
1-1 電腦、程式、程式語言
1-2 程式開發
1-3 Visual Basic 發展史
1-4 課後習題

第2 章 認識Visual Basic 2010 Express
2-1 安裝Visual Basic 2010 Express
2-2 啟動VBE
2-3 VBE 操作環境的第一次接觸
2-4 調整VBE 操作環境
2-5 取得註冊金鑰
2-6 結束Visual Basic 2010 Express
2-7 課後習題

第3 章 Visual Basic 程式設計基礎
3-1 第1 個Visual Basic 程式—取得環境資訊
3-2 Console 類別的功
3-3 認識Visual Studio 的範本及專案
3-4 編寫Visual Basic 程式
3-5 課後習題

Part 2 承 ─ Visual Basic 語言要素

第4 章 資料型別與變數、常數
4-1 何需變數
4-2 使用變數
4-3 基礎資料型別
4-4 型別字元
4-5 型別轉換
4-6 區域型別推斷
4-7 常數
4-8 課後習題

第5 章 運算式與運算子
5-1 算術運算
5-2 字串連接運算
5-3 比較運算
5-4 邏輯運算與位元運算4
5-5 指定運算
5-6 其他運算子及運算優先順序
5-7 課後習題9

第6 章 流程控制
6-1 決策分支
6-2 迴圈
6-3 流程控制補述
6-4 課後習題

第7 章 程序與程式架構
7-1 簡介程序
7-2 如何編寫Functoin、Sub 程序
7-3 傳入參數
7-4 離開程序及程序的傳回值
7-5 宣告項目的能見度
7-6 課後習題

第8 章 陣列
8-1 陣列的基本概念
8-2 1 維陣列
8-3 2 維陣列
8-4 For Each 迴圈
8-5 3 維陣列
8-6 其他關於陣列的議題
8-7 課後習題

第9 章 使用物件
9-1 物件基本概念
9-2 物件變數的資料型別
9-3 物件成員
9-4 列舉型別
9-5 集合
9-6 結構
9-7 課後習題

Part 3 轉 ─ Windows Form 程式設計

第10 章 GUI 與事件驅動
10-1 GUI 與CLI
10-2 第1 個GUI 程式
10-3 事件驅動
10-4 改良PicViewer
10-5 課後習題

第11 章 Windows 控制項
11-1 Button 控制項
11-2 Label 控制項
11-3 CheckBox 控制項
11-4 RadioButton 控制項
11-5 TextBox 控制項
11-6 綜合範例
11-7 課後習題

第12 章 表單
12-1 表單的大小與位置
12-2 與表單外觀有關的屬性
12-3 表單啟動和結束的相關事件
12-4 表單的誕生(與結束)
12-5 對話方塊
12-6 課後習題

第13 章 功能表、工具列、狀態列
13-1 功能表
13-2 工具列與狀態列
13-3 狀態列與內容功能表
13-4 範例
13-5 課後習題

Part 4 合 ─ 技巧與應用

第14 章 圖片檢視器(再進化)
14-1 OpenFileDialog 元件功能概述
14-2 PictureBox 控制項載入指定圖檔
14-3 同場加映:加入內容功能表及狀態列
14-4 課後習題

第15 章 計算機
15-1 計算機的運作
15-2 先從簡單的開始—陽春的計算機
15-3 計算機程式再進化
15-4 課後習題

第16 章 文字編輯器
16-1 程式功能與架構
16-2 關於對話方塊
16-3 檔案
16-4 格式
16-5 編輯
16-6 課後習題

第17 章 實用技巧
17-1 例外處理
17-2 資料夾、磁碟、檔案
17-3 取得系統資訊
17-4 播放聲音
17-5 其他技巧
17-6 課後習題


[全文]

星期五, 五月 06, 2011

Novell新東家解雇Mono專案員工

Novell易主之後,新東家Attachmate隨即展開重整,而長期由Novell資助的Mono專案,也成為整頓的對象。

根據Internetnews.com的《Attachmate lays off Mono employees》,Attachmate以22億美元買下Novell之後,隨即對Novell展開重整,而辦公室位於美國波士頓的Mono專案的員工,則在這一波重整當中遭到解雇,如果沒有人願意繼續資助Mono專案,這個專案很可能就此結束。

Mono專案等於是非Windows平台的.NET(簡述Mono),日前才展示Moonlight在Android平台執行的原型。


[全文]

星期三, 四月 27, 2011

Moonlight照亮Google Android

既然Moonlight可以將Microsoft Silverlight的執行環境提供給Linux環境的Firefox和Google Chrome,我看不出為何不能將相同的能力提供給Android。事實上,Novell正將Moonlight移植到Android,而且在日前Microsoft Mix11展示了初步的成果。

簡單來說,Mono專案是開源且能在各種作業系統執行的.NET環境;有了Mono,.NET就能躍出Windows,而能在諸如Linux、BSD、Mac OS X、Solaris、Wii、Sony PS3等系統執行(6年前的拙著《簡述Mono》可供參考)。

由Novell贊助的Mono專案相當於.NET,而Mono底下眾多計畫之一的Moonlight,則是開源、非Windows環境的Silverlight(目前鎖定的平台是Linux及Unix/X11環境),目的包括讓Linux執行Silverlight程式、提供能建置Silverlight程式的Linux SDK、重複使用已經建置的Silverlight引擎。

Moonlight是為了Linux而做,而Android也是Linux-Based;對Microsoft而言,Moonlight在Android的效益,勢必比Linux大很多。Youtube有一段展示影片,分別以Motorola Xoom和Google Nexus S執行Moonlight向量圖形的原型實驗性質程式(不過從影片很難直接證明那是Silverlight程式)。

其實Mono在上個月才發表了Mono for Android,這套軟體開發工具能讓開發人員以C#和.NET開發能在Android執行的程式。而MonoTouch是Mono另一套用於Apple iPhone/iPod Touch的軟體開發工具,更是已經推出4.0,能讓開發人員以C#和.NET開發能在Apple iPhone/iPod Touch執行的程式。不過Mono for Android和MonoTouch都是付費軟體。

Novell目前還無法公布Moonlight for Android的正式釋出日期。而Moonlilght以往的作業時程通常相當緩慢,步調無法與Microsoft Silverlight一致。如果Moonlight for Android真的能穩定、功能能涵蓋最新Silverlight的8成,Android勢必可獲得相當大量的開發能量。


[全文]

星期二, 四月 19, 2011

IE10僅支援Windows 7以上的Windows

微軟於日前的MIX11發表了IE10的第1個預覽版本(IE10  Platform Preview 1);這麼快就釋出IE10是我的第1個訝異,但更大的訝異是IE10不支援Vista。

從微軟IEBlog的《Native HTML5: First IE10 Platform Preview Available for Download》,可以看出HTML5會是IE10重點,尤其微軟特別標榜原生支援或原生體驗,意思是說瀏覽器已經針對作業系統做過最佳化,更可以發揮HTML5。對於HTML5的支援,的確不宜緩,而且支援的程度越高越好。

JustW7不過根據IE10  Platform Preview 1  Release Notes提及的系統需求,這個預覽版本需要Windows  7,x86或x64皆可。如果試著在Vista或Windows  XP安裝這個預覽版本,會如何?直接出現「不支援Windows  7以前的作業系統」的交談窗,而且無法繼續安裝。如果你有興趣早一步測試IE10預覽版,別忘了它只能裝在Windows  7。

為了確認這究竟是Platform Preview 1的特例,還是IE10最終版本也是如此,Computerworld的Gregg Keizer以電子郵件向微軟求證,得到的答覆是IE10將只支援Windows  7以後的Windows。以下是Gregg Keizer報導裡所引述的其中一段微軟回覆:

Windows Vista customers have a great browsing experience with IE9, but in building IE10 we are focused on continuing to drive the kind of innovation that only happens when you take advantage of the ongoing improvements in modern operating systems and modern hardware,

大意是說IE9能帶給Vista使用者很棒的Web瀏覽體驗,但開發IE10的重點是要在新一代作業系統和硬體持續推動創新。

根據Net Applications上個月的統計,Windows在所有作業系統的佔有率是89.58%(原文),3個主要版本的佔有率則分別是Windows  7  24.17%、Windows  XP  54.39%、Vista  10.56%(原文)。也就是說,目前有將近66%的Windows使用者將無法使用IE10。等到IE10正式推出時,應該至少還是有5成的Windows無法安裝IE10。

IE9不支援Windows  XP,IE10不支援Vista。如果想在Vista或Windows  XP瀏覽HTML5網站,有些使用者可能會升級作業系統,然後使用IE10;但有些使用者可能會選擇另一種作法--改用其他的瀏覽器。


[全文]

星期四, 四月 14, 2011

平板電腦上的Windows

微軟Windows及Windows Live部門總裁Steven Sinofsky在今年初LV消費電子展(CES)的訪問提及,下一版Windows將可在Intel、AMD及ARM架構的晶片系統(SoC)執行,並且也在CES實機展示了若干成果,包括在Intel  x86  SoC平板電腦及NVIDIA、Qualcomm、Texas Instruments的ARM SoC平板電腦執行下一版Windows,並且也展示影音播放、以最新版IE瀏覽網頁等等。

Sinofsky的原意是下一版Windows能支援ARM和x86等兩種不同指令集的SoC,不過幾乎所有媒體及大眾都只將這項聲明視為「下一版Windows將可在ARM架構的SoC執行」,而忽略了x86指令的SoC;看來媒體及大眾普遍對x86  SoC沒有信心。

Windows  on x86 SoC

如果是x86  SoC搭配下一版Windows的組合,目前的x86應用程式應該可以直接執行,例外的可能是需要的運算資源高過平台所能提供的那些平板電腦「跑不動」的軟體。

Windows on ARM  SoC

ARM在行動通訊領域一直有很大的佔有率,而Apple又將ARM推上更高層樓。行動通訊產品的體積小,因此晶片採用SoC的方式設計;如果想知道何謂SoC,吳誠文教授的《SOC跟你什麼關係》(此連結為PDF檔),用了簡短、淺白的文字說明了SoC(及晶片、晶圓),非常值得一讀。

Windows與ARM很早以前就有淵源,而且合作了相當長久(《Windows Embedded Compact 7開放下載》及《下一版Windows Embedded Standard是以Windows 7為基礎》有一些相關內容),甚至華碩在去年Computex公布的EP101TC平板電腦規格,就是Nvidia  Tegra搭配Windows Embedded Compact 7;但是華碩換掉Windows Embedded Compact 7的機率應該很大,至少應該會改採新版的Windows。

支援不同的處理器架構

支援不同的處理器是Windows  NT原本的設計理念,雖然隨著各種考量,微軟逐漸放棄Windows伺服端及桌上版對MIPS、PowerPC、Alpha等處理器的支援,但Windows  CE長久以來一直都有支援ARM,直到現在也是如此,Windows Phone 7就是目前最新的例子。

David Chisnall的文章《Windows on ARM: The Challenges》,對此有一些見解,他認為驅動程式才是這個部分最大的工作,因為這不是將PC主機板上的x86處理器換成ARM而已。但畢竟微軟也不是完全沒有手持裝置或SoC的經驗,包括以前的PDA或現在的Windows  Phone,應該也已經累積許多資源可用。

人機介面

Chisnall的文章並沒有提到這個部分,但我認為這相當重要。直接將WP7的介面搬來平板並非不可,但這可能就無法善用平板優於手機的特性,尤其平板的顯示螢幕比手機大很多。

關於這個部分的新功能,Paul Thurrott的文章有許多相關的文章(而且這些文章應該會持續增加)。

模擬器

模擬器可以用來執行另一種格式的二進位碼。屆時(可能是2012年)Windows  ARM平板的硬體規格,可能已經是4核電腦、2GB記憶體,Chisnall認為應該足以利用模擬器在ARM平台執行x86應用程式。

Chisnall也認為微軟可以將數年前買來的Virtual PC for Mac移植到ARM,也不失為解決方案之一,而且也比重新開發新的模擬器來得快。Virtual PC for Mac可以在PowerPC  Mac模擬出x86環境,而PowerPC和ARM同屬RISC指令集,應該能降低移植的難度。

.NET

模擬器是權宜的作法,最好能有原生程式。微軟過去幾年推廣.NET的努力,應該可以在這些異質環境收到回報,因為.NET的本質就是虛擬機器,只要將虛擬機器移植到ARM平台,熟悉.NET的開發人員很容易就能憑藉原本的知識與技能,開發出ARM平台的Windows程式。

目前可以用在WP7的XNA和Sliverlight,應該都能用在ARM平台的Windows平板,甚至x86平台的Windows平板。

應用程式的質與量決定平台興亡

沒有應用程式,平台再穩、再快也不見得能受到使用者青睞。雖然Windows在PC已經有非常大量、穩固的應用,但目前除了桌上、膝上,還很難在使用者的「手上」普及。要與iOS競爭,也是一場「1局下半就已經以0:30遙遙落後的棒球比賽」。

這場比賽還要打嗎?

對微軟來說當然非打不可。而且在Windows在PC有非常大量、穩固的使用者、開發者(後者尤其重要)。但微軟如果還不加快腳步做點什麼,像變心的女朋友回不來的使用者和開發者,只會越來越多。


[全文]