关于“单击此处以激活控件”

自从使用了Windows Vista上的IE7来浏览网站的时候(其实从IE6 SP2开始),经常会发现一些视频或者Flash网站出现了“单击此处以激活控件”的现象。现象就是在某些视频播放控件(Windows Media Player或者Real Player),或者是Flash动画,或者是其它有可视化界面的ActiveX控件的周围有一个虚线框,当鼠标移上去后,会显示“单击此处以激活控件”,只有当你在该控件上用鼠标单击或者按一下空格键,这个虚线框才会去掉,该ActiveX控件才可以正常使用。

其实要解决此问题非常简单,如果我们去看一下这个控件的代码,所有的ActiveX控件是使用内嵌式写入的。那么解决它就需要调用一下Java Script代码来解决。在JS中调用document.write(“<object classid=’XXXXXXXX’…的方式来往页面上写ActiveX控件就不会解决此问题。

为什么会有这种提示呢?原理也很简单,目前Web 2.0的出现,使网民开始当家做主。所有的网民均可以使用HTML Editor控件往我们的网站中输入内容,如果有人心怀恶意,用这种方式种一个木马ActiveX,而客户在不知情的情况下下载使用了,可能会带来灾难性的后果。所以微软会在IE6 SP2以后,提供这种方式以便对这种ActiveX的行为进行限制,只有当用户确认了才会激活此控件,允许它进行操作。

所以一些大型网站目前需要更改一下它们的代码,不要再使用内嵌式方法写入ActiveX控件,而改用Java script动态加载。比如CSDN目前的视频栏目其实就有这个问题。上周末在厦门参加IDG VC互联网创投大会时,发现与会的很多Web 2.0视频分享网站也都有此问题,在此向各位提醒一下。

Sidebar Gadget开发教程(4)

今天继续讲Sidebar Gadget的开发。此篇将是本教程的最后一篇,因为了解了Gadget的大体情况后,接下来就需要大家自己进行练习了。只有勤于练习,而不是安心看教程,你才会积累丰富的开发经验。而且有些细节其实只需要点一下即可,不需要再详述。

从两周前开始,我们面对两个Partner进行了Gadget开发的Workshop。并且每个Partner均讲述了真实的Requirement,进行Job training。目前来看,这种效果非常不错,建议各位也可以在工作中进行学习。

在上一节教程当中,我们在最后给出了几个问题。现在一一回答该问题。

  • Gadget当中如何含有设置界面?即那个类似于小板手似的图标?

其实这个问题的答案很简单,只需要在主界面所关联的Javascript中加入一句:System.Gadget.settingsUI = “settings.htm”;即可,该语句中的settings.htm可以取代为其它名字.

  • 如何使Gadget出现Flyout界面?

这个问题如上所示,只需要加一句:System.Gadget.Flyout.file=”flyout.htm” 即可,同理,此句中的flyout.htm也可以换成其它的文件名。在需要显示Flyout界面时(比如某个超链接点击事件,或者某个图片控件的双击事件),调用System.Gadget.Flyout.show=true即可,不需要其它设置。当然,你可以在显示时进行一些其它的处理,那么可以调用它的事件函数即System.Gadget.Flyout.onShow(指向一个函数名),其对应的隐藏事件函数为System.Gadget.Flyout.onHide函数

  • 如何得到系统信息?

Sidebar为Javascript扩充了一些API,用于执行外部命令,或者得到系统信息,或者对于Gadget内部本身的调用(如上面的Flyout以及SettingsUI),关于这些API的详细信息,可以参阅:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sidebar/sidebar/reference/refs.asp 得到更加详细的信息。

  • 如何在没有使用ASP.NET AJAX框架的基础上出现局部刷新效果?

更加简单了,使用Microsoft XMLHTTP这个函数的异步调用方式,关于XMLHTTP的更加详细信息,可以参阅相关信息。其中有关于如何实现异步调用的。另外,在调用时,如果遇到IE缓存问题,可以使用setRequestHeader(“If-Modified-Since”,”0″)方式解决(感谢Symbio提供信息),而分析XML,可以使用Microsoft XMLDom来进行。

  • 有些Gadget当置放在Sidebar上显示样式是一种,而拖到桌面上会有另外一种显示方式,这是如何实现的?

这个更简单了,查看了下这些Gadget的源代码,可以知道,通过Gadget的System.Gadget.docked的属性可以得到其是否放置在Sidebar上(当为True时,是在Sidebar上),然后再调用JS来对于其CSS特性进行更改即可。

好了,Sidebar Gadget的教程到此结束。非常感谢大家。:)

让你的Windows Vista桌面动起来

在奥兰多的时候,开心曾经看到过Jim Allchin作了一个Windows Vista的Demo,非常Cool,一直希望能够在自己的机器上能够运行。但Jim要求所有在场听众在Vista RTM前不能对外宣布此功能。

昨天凌晨终于等到了Jim的邮件,Vista RTM了!迫不及待的安装了Windows Vista的RTM版本,然后去体验上次他做的那个Demo,即动态桌面。可是找遍所有地方都没有。还好,我有搜索引擎,在Windows Live Search中终于让我找到了一些东东。

首先可以使用以下方式来测试一下Aurora是否可以在你的桌面上运行起来,在开始菜单-附件中找到“运行”(注意,在Windows Vista中的原来“运行”的位置现在是即时搜索框),输入“Winsat aurora”,点击回车运行。如果在中途需要中断运行,可以直接敲“ESC”键即可。这其实只是一个临时的动态桌面,你可以使用Alt-tab键切换到其它应用程序上,就可以到动态桌面效果了。

如果你想一直是动态桌面,比如Vista一开机,那么你可以点击此处查看方案。里面提供了两种方案,一种是手工的,需要自己动手使用SPY++工具来进行一些必要的修改。另外一种是下载该文上的一个工具,帮助你自动解决此问题。

Enjoy it!fingerscrossed

(本文仅供参考,所给出的任何内容均不作任何担保及暗示,因为本文所引起的伤害请自行承担,系统修改有风险,请谨慎操作!)

The first Sidebar Gadgets of ChinaCars has been released

目前,在微软与博客堂的协助下,中国汽车网已经发布了其第一个Sidebar Gadget(即边栏小工具),其发布主要位于:http://gadgets.chinacars.com,欢迎大家浏览并且下载,如果在使用中,如果发现Bug或者有任何新的创意,均可以通过此页面上的一个邮件与ChinaCars联系,并且有望得到以下奖品:Windows Vista RC1光盘或者车载吸尘器。

上一个SideBar Gadgets教程中,曾经呼吁希望开发Gadgets的国内的大型网站的技术决策人员与我进行联系。也收到了一些部分网站的反馈,在此继续呼吁大家与我联系。当然,技术可以不限于Gadget,可以是GRACE中的任何一部分:Gadget、RSS、ASP.NET Ajax、Card Space或者Expression(WPF, WPF/E)。以上大部分技术并不要求网站平台采用ASP.NET 2.0。(joycode # gmail.com)

相关新闻:

国内17家厂商将生产预装Windows Vista操作系统的电脑

Windows Vista最终版制作完成

 

期待您的邮件。

我的创意(2):关于中文输入法(上)

我一直使用五笔字型输入法,所以在没有加入微软之前,我比较喜欢写字,而且也写了好多字。后来,上台的机会多了,用嘴越来越多,不过时至今日,普通话以及英语口语仍然是问题。

写字写多了,对于中文输入法也有一些想法。我使用过的五笔字型比较多:王码五笔86版、五笔加加、小鸭五笔、极品五笔等,甚至我之所以将我的手机选定为多普达838,也是因为这个手机有键盘,可以输入五笔字型。目前在PC上,我比较钟爱的五笔字型是极品五笔,原因呢,就是外观风格我喜欢,其它就没有什么了。我打五笔比较快,不使用词组,只是逐字输入在思路清楚时每分钟也可以达到120字。我很少使用词组输入的方式,因为我总是感觉拆词组是一个比较烦的事情。

前段时间,看到搜狗出了一款拼音输入法,真的很激动。想出这个创意的人是一个奇人,在这个市场上已经很少有让人眼前一亮的创意了,我非常喜欢。但是,很显然,我普通话不好,使用拼音输入法对于我来说简直是一种折磨,所以一直在期待他们可以出一款五笔输入法。

中文操作系统与英文操作系统除了一些显而易见的差别外,最主要的就是输入法了。所以搜狐在这上面做些文章,的确非常正确。但也非常明显,直到目前为止,搜狗输入法还没有很好的商业思路,创意有了,但如何把创意变成金钱还是一个问题。我求他们,千万别把这块市场变成另一个竞价排名市场了,这样就可怕了。

中文输入法还有什么可挖掘的创意吗?我认为还有很多很多,将客户端软件与网络结合起来,会产生非常多的创意,当然了,清平世界也更容易滋生“流氓”。

马上要登机了,先去抽颗烟,就先暂时到这儿吧,容我在飞机上再想想,继续再补充。也欢迎各位看客贡献一下自己的创意。

 

开心写于上海虹桥机场A2登机口,也不知道有没有朋友在这个登机口前等着上飞机

Visual Studio Team System 1204 CTP Extensibility Kit & MSF Agile 文档

目前开心的主要兴趣是在Visual Studio Team System当中,因为在一个软件开发团队当中,最重要的已经不只是开发工具本身了,而是包括需求管理、Bug管理、测试、建模等等,以前微软及其合作伙伴提供了一系列的独立工具帮助大家完成这些功能,但现在,所有这一切都可以在Visual Studio Team System的统一的IDE当中完成。

昨天参加了MSDN全球网站的一次聊天活动,在该活动当中,来自Product Team的专家们就用户关心的问题一一进行了回答,受益匪浅。

通过这次聊天活动,也可以看出,用户的需求是非常多的,但微软不可能在短时间内完全满足所有客户的需求,比如希望找到一个CVS迁移到VSTS工具,微软在V1的时候不会提供(仅提供了VSS以及ClearCase的迁移工具),一位专家说,这正是我们的ISV的大好机会。

另外,还有好多团队可能并不满足于VSTS自带的MSF以及XP方法论模板,希望可以对这些流程以及角色进行自定义,创建符合自己公司需要的模板,那么如何做呢?

还好,我们现在有了Visual Studio Team System 1204 CTP Extensibility Kit,使用它可以很方便的在VSTS的DEC CTP版本中进行以下功能的定制,并且提供了部分示例代码:

1)创建自己的Work Item Type:如果你选择了MSF Agile方法论模板,那么Work Item Types将会有:Bug,Requirement、Task等等,如果你想创建自己的Type,比如Risk,可以使用这个工具来完成;

2)创建自己的测试类型:在VSTS当中,内建了压力测试、网络测试、单元测试,但现在的测试方法层出不穷,我们可以依靠这个扩展工具来扩展自己的测试类型;

3)创建自己的签入/签出规则:在VSTS当中,根据选择的不同的方法论模板,可以有不同的签入/签出规则,那么可不可以创建自己的签入/签出规则呢?答案也是可以的。

4)创建自己的方法论模板:每个公司都有自己的方法论,VSTS提供了XP、MSF(Agile以及相当于CMM3层次的Completed MSF),如果开发团队希望自定义,或者把类似于RUP的软件过程理论创建到VSTS当中,我们也提供了自定义方式;

5)创建自己的事件通知机制:在VSTS当中,如果有人签入代码或者其它Item,可以有邮件通知给其它团队成员,但如果我们希望实现,使用Windows Messenger来通知团队成员,别担心,我们也有扩展机制;

6)创建自己的工具藕合服务:VSTS提供了对象模型及服务,以便让ISV把自己的工具集成到VSTS当中,或者自定义一些视图以及UI或者行为。

7)大量有用的Slides:在该扩展包当中,也包含了十多个Slides,用以讲解如何进行上述的各种扩展。

感兴趣吗?那么现在就开始下载吧。

VSTS 扩展工具包:http://www.microsoft.com/downloads/details.aspx?FamilyID=e42ecbda-de64-4acc-9197-c16734b4bf60&displaylang=en

MSF Agile文档:http://www.gotdotnet.com/workspaces/workspace.aspx?id=b6973c97-2af8-4681-a585-9ec387ee0688

 

 

我的第一个Mono习作

虽然自己装了一个Redhat 9.0的虚机,可是安装Mono那些繁琐的步骤还是把我吓怕了,最终我的虚机上只装了一个金山的WPS For linux,测试了一把文字功能就删掉了。

还好,卢彦已经安装好了Mono正式版的Redhat,而且还很nice的给我开放了telnet权限,虽然速度不是非常理想,但远程编程还是不错,于是我使用telnet上去编了自己第一个mono作品:Hello World。

由于是telnet,暂时还无法使用X系统,所以测试Windows form的工作看来还得放一下,而Web Form现在看来还没有问题,卢彦与我还想把Duwamish等示例程序移植到mono上,不知道是否有版权问题?

下一代Windows用户界面开发在线讲座

代码名称为“Longhorn”的微软下一代操作系统,将带来PC技术的另一场飞跃,这次创新将不亚于“Windows95在当年所产生的影响。“Avalon”是“Longhorn”系统图形模块的开发阶段名称。本次在线网络讲座,可以让您对技术发展的前景先睹为快。我们将为您介绍“Avalon”的概念,优势,以及如何用XAML语言来设计“Longhorn”的用户界面。

本次在线讲座,我们采用的是美国微软的网络培训服务系统,您需要注册才能参加,请您提供真实注册信息。注册的界面为英文的,但是大家可以输入中文的注册信息,而且网络讲座的语言和文档都是中文的。我们是通过电子邮件发出会议通知、参加会议的地址链接,为了保证您能成功参加会议,注册时,请一定输入正确的Email地址。您提交注册信息后,会收到注册确认邮件,会议开始前,您还会受到我们的提醒邮件。

请点击

会议时间:200468日(星期二) 15:00-16:00

要参加在线讲座,请您按照注册提示的信息,完成注册,并下载安装一个客户端软件。请于讲座开始前10-15分钟提前进入会议的站点(注册后,会议的网址会发到您的邮箱)。如果您参加会议的过程有任何问题,请联系电子邮件:[email protected]获取技术支持。

微软(中国)有限公司 敬邀

  20045

Microsoft Virtual Server 1.0

相信很多人都用过Microsoft Vitrual PC了,在.NET评测网当中,小气的神也提供过VPC Image方式的软件给大家。

VPC是微软购买的Connectix的产品。在论坛中查看了一下,大家对它的评价褒贬不一,大部分问题集中在其对资源的占用,以及网络的配置上。

开心这段时间内一直在使用Virtual PC来做一些应用性的开发,由于前段时间需要建建服务器集群,又安装了Vitrual Sever(其实VPC也可以做集群,不过有一些特殊的插件)。使用了半个月后,有一些心得跟大家分享一下:

  • 与大家期待中的不同,Vitrual Sever使用了IE做为管理界面,大部分的操作都在IE的程序当中,仅有一个Remote Control(类似于远程桌面)是Windows Application。其实在管理界面当中也提供了Remote Control功能;
  • 支持多台Host集成,比如你的同事也安装了一个Virtual Server,你可以在得到它的允许后,直接使用它的Vitrual Server的资源,只需要把链接加入即可(尚未测试);
  • 直接可以将VPC Image导入到Virtrual Sever当中,即可启动;不过如果在VPC当中是将其Save State,则无法正常Restore,需要Discard一下,重新Turn on;
  • Remote Control不再支持文件拖拽方式,这是很不方便的地方,即使是在Windows Application当中还是在IE当中都不再支持;
  • 同时启动多个VPC OS时,在Remote Control当中,可以使用ALT+左右箭头来选择所需的OS,这个方式十分酷;
  • Vitrual Server的Readme当中指明安装环境应该是Windows Sever 2003(似乎还必须有AD,记不清了),不过我在Windows XP Professinal下启动正常,只不过没有SSL加密,老提示证书下载;
  • 对网络的支持更加强劲,内置了一个虚拟内部网卡;同时您的物理网卡的属性当中提供了一个Microsoft Virtural Server的功能绑定,选中后,即可物理通讯(我的ISA Server 2004 RC到现在也没有配通,不过这与本人资质有关);
  • 全部使用COM接口来完成,您可以编程(C++、VB、C#)来操纵其内部,在安装后,会提供SDK,给了很多示例代码(尚未测试)。

以上就是我的一些体验,如果您对这个产品感兴趣,欢迎您下载评估版进行测试,并且把您的经验与我们分享笑脸

评估信息:微软Virtual Sever官方网站

Windows 2003 Server的一个Bug

如果你有移动硬盘,如果你使用Windows 2003 Server操作系统,那么或者你已经发现了,当然插上活动硬盘的时候,在我的电脑里面可能无论如何刷新,都找不到新的分区。

解决方案是在“我的电脑”上点击右键,从上下文菜单中找到“管理”,打开“计算机管理”对话框,在树形菜单中找到磁盘管理中,然后识别出来哪个分区是你的活动硬盘分区,为其分配一个未被占用的盘符,然后就可以在我的电脑中看到了。

这是我跟阿斌学习到的一个解决方案:P