微軟開發(fā)者博客:Windows 7來了 - 軟件都準(zhǔn)備好了么?

2009/7/24 11:05:43    編輯:Windows7之家 - Mary Jane     字體:【

Win7之家afsion.com.cn):微軟開發(fā)者博客:Windows 7來了 - 軟件都準(zhǔn)備好了么?

 Windows 7在昨天邁過最后一個里程碑,進(jìn)入了RTM階段,接下來會陸續(xù)通過各種渠道進(jìn)行分發(fā),最終10月22日全面公開發(fā)售,也就是還有三個月的時間,我們就要迎來一個新時代了,那么,你手上的各種程序軟件是否已經(jīng)準(zhǔn)備好入駐Windows 7了呢?從Windows XP/Vista過渡到Windows 7,從應(yīng)用程序角度講至少要做到以下三個方面:

1、確保與Windows 7兼容

2、優(yōu)化在Windows 7下的體驗(yàn)與性能

3、利用Windows 7提供的新特性

下邊逐一來看:

1、確保應(yīng)用程序與Windows 7兼容

在Vista發(fā)布之初,軟件兼容性困擾了不少人,后期雖大有改善但留下的負(fù)面影響已經(jīng)很難消除。幸運(yùn)的是,Windows 7沒有在內(nèi)核級別上做大規(guī)模變動,所以如果你的軟件在Windows Vista下運(yùn)行正常(包括設(shè)備驅(qū)動程序),那幾乎就可以放心換到新系統(tǒng)下了。按照微軟的說法,這個概率基本能達(dá)到99%。

但如果你的程序是為Windows XP甚至Windows 2000設(shè)計的,在Vista下都存在問題,就不要指望能直接轉(zhuǎn)向Windows 7了,必須進(jìn)行更新,或者試試兼容模式。

需要特別指出的是,兼容性并不僅僅是操作系統(tǒng)的責(zé)任,更是軟件自己的問題?偛荒苤竿鸚indows 7去全面支持五六年前的老軟件吧?所以在抱怨新系統(tǒng)兼容性之前,不妨先看看軟件本身是不是該做些什么。

以下是軟件兼容性問題最多的七個方面:

(1)、版本檢查

目前為止的頭號問題。有沒有在Windows 7里運(yùn)行軟件的時候看到錯誤提示說“需要Windows XP或更高版本的操作系統(tǒng)”?如果是的話那你就碰傷版本檢查問題了。

參考資料:
http://msdn.microsoft.com/en-us/library/bb756927.aspx

(2)、數(shù)據(jù)重定向

從Vista開始,標(biāo)準(zhǔn)用戶對特定文件、文件夾、注冊表鍵值的訪問受到了限制。如果軟件試圖寫入這些區(qū)域,就會被拒絕并重定向其它地方。大部分情況下,這個過程對用戶和程序員來說都是透明的,但偶爾也會不透明,這時候問題就來了。

參考資料:
http://support.microsoft.com/kb/927387

(3)、IE保護(hù)模式

還是從Vista開始,IE默認(rèn)運(yùn)行在較低權(quán)限下,使得部分ActiveX控件無法再正常運(yùn)行。Windows 7和IE8同樣如此。

參考資料:
http://blogs.msdn.com/ie/archive/2006/02/09/528963.aspx

(4)、Session 0隔離

Vista下的系統(tǒng)服務(wù)運(yùn)行在屬于自己的Session 0級別里,與用戶所在的Session 1或更高級別相隔離。這是操作系統(tǒng)的一種安全界線保護(hù)手段,可以避免很多針對系統(tǒng)底層的惡意攻擊,只不過在安全性提高的同事,應(yīng)用程序和系統(tǒng)服務(wù)之間的溝 通也容易出問題,必須充分考慮。

參考資料:
http://blogs.msdn.com/cjacks/archive/2006/10/24/modifying-the-mandatory-integrity-level-for-a-securable-object-in-windows-vista.aspx

(5)、安裝程序檢測

從Vista開始,系統(tǒng)會自動檢測某個應(yīng)用程序是否需要安裝,是的話就代表該程序要求提升為管理員權(quán)限,再加上新引入的UAC功能,軟件安裝就容易不太順利了。

參考資料:
http://msdn.microsoft.com/en-us/library/aa905330.aspx

(6)、用戶界面權(quán)限隔離

這可以阻止程序(進(jìn)程)以較高權(quán)限向其它進(jìn)程發(fā)送消息,即使它們運(yùn)行在同一賬戶之下。這種安全保護(hù)手段同樣既阻擋了惡意攻擊,也會破壞一些程序的正常運(yùn)行。

(7)、高DPI

Windows 7在安裝過程中就會自動檢測用戶的顯示器是否支持高DPI,是的話就自動啟用。如果程序不支持高DPI,就可能會出現(xiàn)顯示問題。

參考資料:
http://msdn.microsoft.com/en-us/library/dd756693(VS.85).aspx
 

2、優(yōu)化應(yīng)用程序在Windows 7下的體驗(yàn)與性能

能夠正常運(yùn)行只是第一步,改善程序性能、優(yōu)化用戶體驗(yàn)就是錦上添花了,特別是要充分適應(yīng)Windows 7的一些新變化。

(1)、超級任務(wù)欄

Windows 7的超級任務(wù)欄可以用更直接的方式為用戶提供更多信息,比如彈出菜單(Jump List)就可以顯示相關(guān)程序最常用的功能,這就需要軟件的配合了。

參考資料:
http://windowsteamblog.com/blogs/developers/archive/2009/06/18/developing-for-the-windows-7-taskbar-application-id.aspx

(2)、庫(Library)

作為訪問用戶數(shù)據(jù)的首要入口,庫在Windows 7里是用戶指定的特定內(nèi)容集合,和文件夾管理方式是相互獨(dú)立的,分散在硬盤上不同物理位置的數(shù)據(jù)可以邏輯地集合在一起,查看和使用都更方便。

參考資料:
http://windowsteamblog.com/blogs/developers/archive/2009/06/11/windows-7-programming-guide-libraries.aspx

(3)、觸發(fā)式啟動服務(wù)

Windows 7的任務(wù)控制管理器已經(jīng)進(jìn)行了拓展,在特定系統(tǒng)事件(觸發(fā))發(fā)生之后,系統(tǒng)服務(wù)可以自動開始或停止。這樣一來,服務(wù)就無需開機(jī)自啟動了,可以等到需要的時候再開始,從而大大節(jié)省系統(tǒng)資源并加快開機(jī)速度。

參考資料:
http://msdn.microsoft.com/en-us/library/dd405513(VS.85).aspx

(4)、電源管理優(yōu)化

Windows 7提供了新的基礎(chǔ)架構(gòu)和工具,可以讓開發(fā)人員輕松判斷自己的程序?qū)碾娀蚬?jié)能的影響,并有一系列的事件回調(diào),讓程序在系統(tǒng)運(yùn)行于電池的時候降低活躍度,并在切換到AC供電后自動恢復(fù)。

(5)、故障排除平臺

一直以來,Windows都會在出現(xiàn)問題的時候給用戶提供一些解決方案供參考,但大多形同雞肋,而Windows 7在這方面大大增強(qiáng),使用基于PowerShell的機(jī)制來診斷、解決問題。Windows 7的故障排除平臺和PC解決方案衷心無縫集成,讓應(yīng)用程序的故障診斷更統(tǒng)一、更簡單。

參考資料:
http://msdn.microsoft.com/en-us/library/dd323778(VS.85).aspx

(6)、Windows錯誤報告(WER)

Windows錯誤報告是一系列技術(shù),可以捕獲軟件崩潰數(shù)據(jù),用于相關(guān)信息的實(shí)時反饋。通過Winqual服務(wù),軟件和硬件廠商可以訪問這些報告,用來分析和解決問題,發(fā)布相關(guān)補(bǔ)丁或者進(jìn)行軟件升級。

參考資料:
http://www.microsoft.com/whdc/maintain/StartWER.mspx

(7)、I/O優(yōu)化

I/O優(yōu)先級可以在不明顯消耗系統(tǒng)資源的情況下改善響應(yīng)速度。如果程序沒有進(jìn)行I/O優(yōu)化,可能會占用大量資源,給系統(tǒng)增加額外負(fù)擔(dān)。

(8)、重啟管理器

這種技術(shù)可以自動完成崩潰后重啟,并在不重啟整臺機(jī)器的情況下完成程序和系統(tǒng)的更新。如果軟件不幸崩潰,重啟管理器就給了保存關(guān)鍵信息的二次機(jī) 會,Windows會自動重新啟動程序,并嘗試載入之前保存的信息;系統(tǒng)完全重啟的次數(shù)也會大大縮小,實(shí)在需要的話Windows也會在系統(tǒng)重啟后盡量重 啟相關(guān)程序,并使之返回重啟前的狀態(tài)。

3、利用Windows 7特性提供全新用戶體驗(yàn)

完成之前兩步后,應(yīng)用程序已經(jīng)可以很高效地在Windows 7上運(yùn)行了,不過Windows 7還引入了大量新特性,使用得當(dāng)?shù)脑捒梢赃M(jìn)一步大大提升用戶體驗(yàn),也會讓你的軟件“高人一等”。

(1)、Ribbon用戶界面

Office 2007引入的分欄式用戶界面“Ribbon”在Windows 7里開始得以發(fā)揚(yáng)光大,不少程序的界面都煥然一新。程序員自然也可以將其拿來為己所用,擺脫Win32 UI開發(fā)的繁復(fù),用更簡單、更高效的方式設(shè)計更豐富、更直觀、更高性能的用戶界面。

點(diǎn)擊查看原大圖片

(2)、多點(diǎn)觸摸

Windows 7最先為人所知的新特性就是對觸摸和手勢操作的改進(jìn)支持,讓用戶得以擺脫鼠標(biāo)點(diǎn)擊、拖拽的束縛。新的多點(diǎn)觸摸API支持平移、縮放、旋轉(zhuǎn)等多種操作手勢,并有直接視覺反饋,和底層內(nèi)容的交互也更自然、更直觀。

(3)、傳感器與位置平臺

Windows 7原生支持各種傳感器,包括GPS導(dǎo)航儀、溫度計、環(huán)境光傳感器等等,并提供了新的開發(fā)平臺,可以籍此創(chuàng)建能夠感知周圍環(huán)境的應(yīng)用程序,特別是位置感應(yīng)也為各種各樣地圖服務(wù)提供了新機(jī)遇。

(4)、新的圖形堆棧

Windows 7通過一系列DirectX API將新的圖形能力交給開發(fā)人員。Win32開發(fā)者可以利用GPU圖形處理器的強(qiáng)大能力,在自己的程序里增加快速、高效、高質(zhì)量的2D/3D圖形、文字、圖片。

(5)、媒體平臺

Media Foundation和DirectShow是Windows系統(tǒng)媒體支持的基礎(chǔ)。前者從Vista開始引入,目標(biāo)就是取代古老的DirectShow,到了Windows 7里進(jìn)一步增強(qiáng),可以直接支持更多媒體格式,包括:

● MPEG-4
● 支持視頻捕捉設(shè)備和硬件解碼器,包括H.264、MJPEG、MP3
● 新的MP4、3GP、MPEG2-TS、AVI資源
● 新的MP4、3GP、MP3

(6)、Federated Search(聯(lián)合搜索)

Windows 7將搜索的概念從本機(jī)擴(kuò)展到了網(wǎng)絡(luò),基于OpenSearch項(xiàng)目和RSS格式。開發(fā)人員和IT專家無需便攜和部署客戶端代碼就能讓W(xué)indows 7搜索自己的搜索引擎、文件歸檔、Web程序和私有數(shù)據(jù)。搜索公司內(nèi)部網(wǎng)和Web網(wǎng)絡(luò)將像搜索本機(jī)一樣簡便,且都在同樣的Windows界面里完成。

(7)、Device Stage

主要針對收集、便攜式媒體播放器(PMP)、相機(jī)、打印機(jī)等外圍設(shè)備,并與軟件和服務(wù)緊密集成,可以在Windows桌面上直接使用這些設(shè)備。