一步一步搞定VIsta边栏天气
初装Vista时,可以使用边栏里面的小工具显示天气的,但是经过一段时间,Vista的自动更新修改了weather的小工具的代码,使得显示是“服务不能使用”,不知道微软为什么要这样限制?我觉得这么多小工具中,就这个天气预报的还有点作用,现在不能使用很是郁闷!
好了,废话这么多,进入正题。
首先看效果,修改的原因和原理放在最后。
第一步:取得天气小工具所在文件夹的所有权。
第二步:修改localizedStrings.js中的
L_localizedStrings_Text['DefaultCity'] = ‘Redmond, WA’;
L_localizedStrings_Text['DefaultLocationCode'] = ‘wc:USWA0367′;
L_localizedStrings_Text['DefaultUnit'] = ‘Celsius’;
替换成下面的代码(以上海为例)
L_localizedStrings_Text['DefaultCity'] = ‘Shanghai, CHN’;
L_localizedStrings_Text['DefaultLocationCode'] = ‘wc:CHXX0116′;
L_localizedStrings_Text['DefaultUnit'] = ‘Celsius’;
更多城市代码请到
http://weather.msn.com/region.aspx?&wealocations=Shanghai&setunit=C#current
切换城市获得,相信大家能够找到,找不到的话就留言吧。
到这一步,再打开天气小工具就可以看到上海的天气了,但是显示上似乎有点bug,当前天气比较偏上,超出了范围。
第三步,修改css文件样式
修改weather.css中的
#TemperatureCurrent, #TemperatureCurrentDropShadow
{
position:absolute;
top:3px;//原值为-3
height:10px;
width:70px;
text-align:right;
margin:0;
padding:0;
margin-left:54px;
font-size:24px;
z-index:1;
}
和
#TemperatureCurrentUnDockedMode
{
font-size: 32px;
text-align:right;
position:absolute;
left:145px;
width:95px;
top:15px;//原值为5
}
到此满足绝大多数用户的需求了。
下面说说题外话,
1.更新前的程序,是调用页面返回XML,更新后调用WebService,我现在使用的是更新后的程序,WebService不支持本区域的查询,所以用了最上面的方法,修改初始值来绕过这个地方,希望有高手能够修改出一个完美版来,期待中。
2.这个小工具就是html加js制作的一个小程序,代码都在里面,有兴趣的朋友可以自己修改里面的代码,或是参考然后做出自己的小程序。







