微軟專(zhuān)家答記者問(wèn) - Windows 7歐洲版詳細(xì)情況
2009/7/14 10:11:56 編輯:Windows7之家 - Mary Jane 字體:【 大 中 小】Win7之家( afsion.com.cn):微軟專(zhuān)家答記者問(wèn) - Windows 7歐洲版詳細(xì)情況
微軟IE及網(wǎng)絡(luò)技術(shù)專(zhuān)家Giorgio Sardo近日應(yīng)邀回答了一些有關(guān)Windows 7 E的問(wèn)題,主要從軟件開(kāi)發(fā)與應(yīng)用的角度澄清了這個(gè)歐洲特別版的不同之處。
問(wèn):Windows 7 E版本與標(biāo)準(zhǔn)版之間有何區(qū)別?
答:唯一的功能區(qū)別就是(Windows 7 E)沒(méi)有集成Internet Explorer 8瀏覽器,不過(guò)WebOC等互聯(lián)網(wǎng)網(wǎng)絡(luò)平臺(tái)(Internet Web Platform)組件仍會(huì)存在于所有版本的Windows 7中,因?yàn)樗鼈兪荳indows系統(tǒng)內(nèi)核的一部分。
問(wèn):如何測(cè)試應(yīng)用程序以確保在沒(méi)有IE的情況下也能正常工作?
答:可以在控制面板的打開(kāi)或關(guān)閉Windows功能對(duì)話框里取消IE8復(fù)選框,來(lái)模仿Windows 7 E環(huán)境。建議對(duì)應(yīng)用程序?qū)τ袩o(wú)瀏覽器安裝兩種環(huán)境都進(jìn)行測(cè)試。
問(wèn):如果在未安裝瀏覽器的情況下點(diǎn)擊超鏈接會(huì)如何?
答:會(huì)彈出一個(gè)“未找到應(yīng)用程序”的錯(cuò)誤對(duì)話框。
問(wèn):Windows 7 E對(duì)一般應(yīng)用程序有何影響,特別是那些依賴(lài)WebOC的?
答:應(yīng)用程序兼容性測(cè)試表明,絕大部分都可以直接在Windows 7 E里正常運(yùn)行,包括大量使用WebBrowser控件、hosting Trident、HTML Help等網(wǎng)絡(luò)平臺(tái)組件的。
問(wèn):WPF、Win Froms、Java等使用WebBrowser控件的Windows應(yīng)用程序會(huì)有兼容性問(wèn)題么?
答:理論上一切都能正常工作,但是如果程序依賴(lài)某個(gè)特定的瀏覽器,就可能出現(xiàn)問(wèn)題,特別是如果你使用WebBrowser控件讓程序打開(kāi)新窗口,但又不考慮用戶(hù)的默認(rèn)瀏覽器選擇,就可能會(huì)碰到問(wèn)題。
問(wèn):測(cè)試中發(fā)現(xiàn)的最常見(jiàn)問(wèn)題是什么?對(duì)獨(dú)立軟件開(kāi)發(fā)商(ISV)有何建議?
答:Windows 7 E中的程序兼容問(wèn)題主要有三類(lèi):
1、在打開(kāi)瀏覽器訪問(wèn)網(wǎng)絡(luò)的時(shí)候嚴(yán)重依賴(lài)IE的程序。這種程序通常都是執(zhí)行“iexplore.exe http://foobar.com”,而不是在http://foobar.com上執(zhí)行ShellExecute。有時(shí)候是開(kāi)發(fā)者粗心,有時(shí)候是某些網(wǎng)站只能通過(guò)IE才能正常打開(kāi),實(shí)屬無(wú)奈。
2、允許在WebBrowser控件內(nèi)部打開(kāi)新窗口的程序。此類(lèi)鏈接會(huì)始終通過(guò)IE打開(kāi),而與默認(rèn)瀏覽器設(shè)置無(wú)關(guān)。建議使用NewWindow3事件,代碼如下:
void web1_NewWindow3(
ref object ppDisp,
ref bool Cancel,
uint dwFlags,
string bstrUrlContext,
string bstrUrl )
{
Process.Start(bstrUrl);
Cancel = true;
}
3、未考慮系統(tǒng)未安裝瀏覽器情況的程序。
問(wèn):如何識(shí)別用戶(hù)的默認(rèn)瀏覽器?
答:使用IApplicationAssociationRegistration::QueryCurrentDefault API檢查QueryCurrentDefault(“http”, AT_URLPROTOCOL, AL_EFFECTIVE, out progID)。
問(wèn):我的程序需要打開(kāi)瀏覽器,怎么辦最好?
答:運(yùn)行shellexecute()而不要強(qiáng)行指定瀏覽器。尊重用戶(hù)的默認(rèn)瀏覽器選擇。如果系統(tǒng)未安裝瀏覽器,給用戶(hù)相應(yīng)提示。
問(wèn):如何檢查我是否正在運(yùn)行某個(gè)版本的Windows 7 E?
答:GetProductInfo() API(已包含在Vista中)可以精確地告訴你當(dāng)前Windows版本。用于Windows 7 E的新的常量值會(huì)在Windows 7 SDK中提供。
家庭高級(jí)版與旗艦版識(shí)別代碼示例:
[DllImport("Kernel32.dll")]
internal static extern bool GetProductInfo(
int osMajorVersion,
int osMinorVersion,
int spMajorVersion,
int spMinorVersion,
out uint edition);
private void CheckEdition()
{
uint edition;
GetProductInfo(6, 1, 0, 0, out edition);
switch ((ProductEditions)(edition))
{
case ProductEditions.HOMEPREMIUM :
case ProductEditions.HOMEPREMIUME:
case ProductEditions.HOMEPREMIUMN:
MessageBox.Show("Running on a Home Premium edition");
break;
case ProductEditions.ULTIMATE :
case ProductEditions.ULTIMATEE:
case ProductEditions.ULTIMATEN:
MessageBox.Show("Running on an Ultimate edition");
break;
}
}
問(wèn):Windows 7 E版本是否也會(huì)在MSDN上提供?如果是的話什么時(shí)候?
答:是的,Windows 7標(biāo)準(zhǔn)版和E版本都會(huì)在MSDN上同時(shí)發(fā)布。
問(wèn):Windows 7 E的IE8 Feature Pack功能包呢?是否、何時(shí)會(huì)公開(kāi)發(fā)布?
答:Windows 7公開(kāi)發(fā)售(10月22日)后會(huì)通過(guò)微軟下載中心提供給用戶(hù)。
評(píng)論列表
查看所有 條評(píng)論