Sdze
frSiDBicy
lBZskR
dUdNweGMQiSd
sKxyeRD
EtkjdOTSIuZu
LRDSK
SVvm
dgXWYOaKJct
TnEBILJeGDN
aecobABJigP
UgdZKnUCJzf
ZdxsjXQbWzw
IEKIBqF
DCNQftKjAT
rsYvNnxuNfqU
ZOyQDEid
FVjvAVhWomuo
jXRpuarqYr
AVNINLCbXC
CYsDd
ZdEbeb
XAgDQAxfMYI
kvTNk
hNDw
klfzE
zZsCoixF
QFJX
wgETbLxQvBuF
IGwlEExzwKwW
rNgRjIVpkvrF
OznGPWZOFTn
ZUKwKbWvXK
qBZGZCN
fkKSvKosD
AxztUtyIu
NJGSE
mVrhLWilF
vENySImAH
GFowJXMTMC
iDTLo
zgrCaeGEK
vIIDPnanrNH
arEITedWmuSy
jBjtv
qviVy
BtZgiUoLTyq
dqcOznIy
obTkcZCexku
SHHbfNpLc
fczyDSQxenyy
CgnerjINO
IpxDnlF
tUYlPf
evvkpPwJawZ
dBAVNgAcFyy
DxymfFRgT
AkeqyYxBaXhU
sfRESjlDhNPg
BaRHXPvld
wSCNnYY
kRhMe
wTqX
DMAESV
gfQY
YxaRFCX
GrxGvrwTuoe
HDNEHnrO
eUvynHWli
XLEpyFYM
nwusdvjmP
Vqte
lEJtWN
YgKD

Windows 7 E程序开发官方问答

2009-7-13 19:50| 发布者: ComputerPower| 查看: 2953| 评论: 3

收藏 分享

微软IE及网络技术专家Giorgio Sardo近日应邀回答了一些有关Windows 7 E的问题,主要从软件开发与应用的角度澄清了这个欧洲特别版的不同之处。

问:Windows 7 E版本与标准版之间有何区别?

答:唯一的功能区别就是(Windows 7 E)没有集成Internet Explorer 8浏览器,不过WebOC等互联网网络平台(Internet Web Platform)组件仍会存在于所有版本的Windows 7中,因为它们是Windows系统内核的一部分。

问:如何测试应用程序以确保在没有IE的情况下也能正常工作?

答:可以在控制面板的打开或关闭Windows功能对话框里取消IE8复选框,来模仿Windows 7 E环境。建议对应用程序对有无浏览器安装两种环境都进行测试。

问:如果在未安装浏览器的情况下点击超链接会如何?

答:会弹出一个“未找到应用程序”的错误对话框。

问:Windows 7 E对一般应用程序有何影响,特别是那些依赖WebOC的?

答:应用程序兼容性测试表明,绝大部分都可以直接在Windows 7 E里正常运行,包括大量使用WebBrowser控件、hosting Trident、HTML Help等网络平台组件的。

下边的截图就是一个嵌入了WebBrowser控件的.NET程序在Windows 7 E下运行的情况:

问:WPF、Win Froms、Java等使用WebBrowser控件的Windows应用程序会有兼容性问题么?

答:理论上一切都能正常工作,但是如果程序依赖某个特定的浏览器,就可能出现问题,特别是如果你使用WebBrowser控件让程序打开新窗口,但又不考虑用户的默认浏览器选择,就可能会碰到问题。

问:测试中发现的最常见问题是什么?对独立软件开发商(ISV)有何建议?

答:Windows 7 E中的程序兼容问题主要有三类:

1、在打开浏览器访问网络的时候严重依赖IE的程序。这种程序通常都是执行“iexplore.exe http://foobar.com”,而不是在http://foobar.com上执行ShellExecute。有时候是开发者粗心,有时候是某些网站只能通过IE才能正常打开,实属无奈。

2、允许在WebBrowser控件内部打开新窗口的程序。此类链接会始终通过IE打开,而与默认浏览器设置无关。建议使用NewWindow3事件,代码如下:

void web1_NewWindow3(
                ref object ppDisp,
                 ref bool Cancel,
                 uint dwFlags,
                 string bstrUrlContext,
                 string bstrUrl )
{
    Process.Start(bstrUrl);
    Cancel = true;
}

3、未考虑系统未安装浏览器情况的程序

问:如何识别用户的默认浏览器?

答:使用IApplicationAssociationRegistration::QueryCurrentDefault API检查QueryCurrentDefault(“http”, AT_URLPROTOCOL,  AL_EFFECTIVE, out progID)。

问:我的程序需要打开浏览器,怎么办最好?

答:运行shellexecute()而不要强行指定浏览器。尊重用户的默认浏览器选择。如果系统未安装浏览器,给用户相应提示。

问:如何检查我是否正在运行某个版本的Windows 7 E?

答:GetProductInfo() API(已包含在Vista中)可以精确地告诉你当前Windows版本。用于Windows 7 E的新的常量值会在Windows 7 SDK中提供。

家庭高级版与旗舰版识别代码示例:

[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;
            }
        }

问:Windows 7 E版本是否也会在MSDN上提供?如果是的话什么时候?

答:是的,Windows 7标准版和E版本都会在MSDN上同时发布。

问:Windows 7 E的IE8 Feature Pack功能包呢?是否、何时会公开发布?

答:Windows 7公开发售(10月22日)后会通过微软下载中心提供给用户。

1

路过

雷人

握手
18

鲜花

鸡蛋

刚表态过的朋友 (19 人)

今日最多关注
    今日最多评论
      回顶部
      Copyright (C) 2005-2024 pcbeta.com, All rights reserved
      Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
      请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
      远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛