提高Vista开始菜单文件夹展开速度的小技巧
用了Vista一段时间,总是觉得Vista的开始菜单里的文件夹展开速度很慢,以前配置不是很好,可以理解为配置的原因,但是现在配置应该也不差了吧,怎么会还是这样呢。
某天玩电脑的时候突然想到,会不会是那个“高亮显示新安装的程序”的原因,试了一下,开始菜单里的文件夹展开速度果然快了很多。
如果你的Vista在进入开始菜单,展开文件夹的时候速度也是很慢的话,不妨试试禁止“高亮显示新安装的程序”,步骤是:在开始的微软徽标上右击,选择属性,然后进入“开始”菜单选项卡,点击“自定义”,打开“自定义’开始’菜单”对话框,在列表中找到“突出显示新安装的程序”,取消选中这个项目,然后确定两遍即可。

本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名Xu Jiwei(包含链接)。
No comments yet.
No trackbacks yet.
慎用 script 节点的 src 属性来传递参数
about 10 months ago - No comments
在有些使用 javascript 来渲染数据的时候,为了能动态获取不同的数据,并且保持 javascript 代码的可扩展性,会将 javascript 代码中获取数据的部分需要的参数提取出来,做为参数放在 script 节点的外部。 一般来说,传递参数到 javascript 文件内部的方法有两种,一种是将参数写在一个 script 节点中,写成全局变量的方式的传递给紧接着这个 script 节点的外部 javascript 中,Google Analytics 就是使用这样的方式: <script type="text/javascript"> var p1 = "v1", p2 = "v2"; </script> <script type="text/javascript" src="foo.js"></script> 另外一种是将参数直接写在 script 节点的 src 属性中,相当于一个页面的查询字符串一样: <script type="text/javascript" src="foo.js?p1=v1&p2=v2"></script> 不过,使用 script 节点的 src 属性来传递参数需要注意一个很重要的问题,那就是动态变化的 src 属性会导致缓存失效。 现在,为了网站性能的需要,一般都会将 javascript 文件放在独立的服务器上,并设置一个较长的过期时间,这样客户端只会在第一次访问网站时需要去下载这个 javascript 文件。但是,如果使用 src 来传递参数,就可能会使这种缓存策略失效。特别是 src 中存在动态参数的情况,例如统计脚本中如果有一个 ip 参数,那么访客每次连上线时,可能 ip 都会不同,就会导致 javascript 缓存失效了。 解决这个问题的方法也很简单,简单地的将 src 属性中的参数放到 script 节点的一个自定义属性中就可以了,例如 data-args,而 src 属性只需要保留一个时间戳就可以了。因为使用 src 属性来传递参数本来就需要定位 script 节点,所以改由 data-args 自定义属性来传递参数并不会增加额外的代码。只不过页面会通不过 w3c 的验证罢了 :) <script type="text/javascript" src="foo.js" data-args="p1=v1&p2=v2"></script> 再次提醒,慎用 script 节点的 src 属性来传递参数 :)
[JavaScript] 慎用 somefunction.prototype
about 1 year ago - No comments
在写 JavaScript 脚本的时候,为了创建一个类,如果不使用框架,一般情况我们都会使用 prototype 来给要创建的类增加公有方法,例如: 程序代码:[ 复制代码到剪贴板 ] // code from xujiwei.cn function Person(name) { this.Name = name; } Person.prototype.SayHello = function() { alert(‘Hello, ’ + this.Name); } Person.prototype.SayBye = function() { alert(‘Goodbye, ’ + this.Name); } 不过,有的时候,为了书写以及维护的方便,我们会把公有方法的声明写到一个对象里,然后赋值给 Person.prototype,例如: 程序代码:[ 复制代码到剪贴板 ] // code from xujiwei.cn function Person(name) { this.Name = name; } Person.prototype = { SayHello: function() { alert(‘Hello, ’ + this.Name); }, SayBye: function() { alert(‘Goodbye, ’ + this.Name); } } 使用这种方式,在这个类具有大量公有方法的时候,就不需要维护许多的 Person 标识符,如果某一天这个类的名字需要改变,那么要改的地方只有两个,一个是 function 的声明,一个是 prototype 前面的标识符,如果是使用前一种方式的话,那么有多少个公有方法,就需要维护 N+1 个标识符了,虽然可以使用查找替换,但是从稳定上来说,查找替换可能会引起一些错误,这增加了维护的成本。 这种方式虽然给我们的维护增加了便利,但也引发了另外一个隐藏的问题,就是类的 constructor 属性丢失的问题。 程序代码:[ 复制代码到剪贴板 ] // code from xujiwei.cn function Person1(name) { this.Name = name; } Person1.prototype.SayHello = function() { alert(‘Hello, ’ + this.Name); } Person1.prototype.SayBye = function() { alert(‘Goodbye, ’ + this.Name); } // code from xujiwei.cn function Person2(name) { this.Name = name; } Person2.prototype = { SayHello: function() { alert(‘Hello, ’ + this.Name); }, SayBye: function() { alert(‘Goodbye, ’ + this.Name); More >
解决Windows Vista中截图工具运行速度慢的问题
about 2 years ago - No comments
Vista自带的截图工具还是比较好用的,但是一直以来运行总是很慢,从按下快捷键到出来截图界面需要很长时间,通常需要几秒到十几秒不等,这让人很奇怪,按说,截图工具算是个小工具软件,运行速度不至于这么慢的。但是,它就是这么慢…… 今天又想到这个问题了,就去网上找了找,找到了篇帖子说是TablePC的服务器造成的,于是打开服务管理器,启动 Tablet PC Input Service 服务,再运行截图工具,果然,速度快了很多。 这个服务是之前优化服务时关闭的,觉得台式机用不着那东西。看来服务优化还是需要谨慎的。
ASP中使用FileSystemObject时提高性能的一个小技巧
about 2 years ago - No comments
在封装自己的FileSystemObject库的时候,测试的时候发现在文件夹或文件很多的时候,效率很低,显示一个文件夹需要2秒甚至更多,这让我很是奇怪,因为显示文件夹及文件信息的时候直接都是使用Folder及File对象的属性,这应该不会引起性能上的问题,但是事实却说明我的想法过于简单了。 按个测试了一下可能会是哪些属性引起的性能问题,在去掉Type也就是类型属性显示的时候,性能有了很大提高,之后的测试也证明了是Type属性的使用导致了性能问题。 仔细想了一下,Type引起性能低的原因应该是,引用Type属性所得到的是文件的具体类型信息,也就是我们在资源浏览器里看到的那样,比如TXT文件的类型就是显示为“文本文档”,但是这个类型信息却是存储在系统中,通过文件扩展名进行关联的。在FSO中使用Type属性的时候,对于每个File对象,FSO都需要根据扩展名去系统中检索这个扩展名对应的类型名称,这样,就极大的降低了性能。 因此,在使用FileSystemObject时,如果可以不使用File或者Folder对象的Type属性,就尽量不使用。 希望此文对你有所帮助。 by Xu Jiwei
再解Windows Vista上用锐捷上网的问题
about 3 years ago - No comments
我在如何解决Windows Vista中无法通过锐捷认证上网的问题一文中讲了如何在Windows Vista中如果用锐捷上网的问题,但在两个同学的电脑上还是有些问题,然后运气了一下,解决了。 在有些电脑上,在Vista里通过Mento Supplicant认证成功后,还是不能ping通DNS服务器和VPN服务器,从而不能连接二次拨号。 昨天帮一朋友弄Vista上网时,明明步骤都正确的,但是还是不能上网,郁闷得不行,然后跑到小道道的电脑,进了Vista,一步步照着教着做,还是不行,然后偶尔发现在Mento Supplicant的网卡列表里发现了两块一样的网卡,试着选择了另外一个,认证,竟然二次连接成功了…… 总结一下,在Vista里,不知道什么原因,有些情况下Mento Supplicant会把一块网上侦测为两块网卡,用其中一块网卡的时候,虽然显示是认证成功了,但是这个时候还是不能拨VPN链接上网的,会出现找不到VPN服务器的错误,选择网卡为另外一块就可以解决这个问题了。 希望对要用Vista但是受锐捷折磨的朋友们有用^_^。
用好HoeKey:用快捷键控制iTunes
about 3 years ago - No comments
用 Apple 的 iTunes 听歌很长时间了,特别喜欢它的保存音乐文件夹有序这个功能,这样我就不用愁添加mp3的时候再去管理文件夹了,以前用Winamp时就没有这个功能。 但是有一点,Winamp可以设置全局快捷键,可以让我在不打开播放器窗口的情况下控制mp3的播放,而iTunes就没有。于是用了这么长时间iTunes,一直是在托盘图标的菜单点控制mp3的播放。但是前些天在做东西的时候突然想到怎么去控制iTunes的播放,于是用Spy++截取了一下在iTunes窗口里用应用程序级快捷键控制播放时所用的消息,得到参数,然后又想到HoeKey可以自定义消息快捷键,于是就改了一下配置文件,使HoeKey能控制iTunes播放。 在iTunes窗口里,可以用Ctrl+→来播放下一首,Ctrl+←来播放上一首,使用空格键来暂停和开始播放,而使用的消息分别是WM_KEYDOWN和WM_CHAR。 于是,可以在HoeKey的配置文件中加入以下行: ~Z=Msg|iTunes|256|37|19202049 ; iTunes - Prev ~X=Msg|iTunes|256|39|19333121 ; iTunes - Next ~32=Msg|iTunes|258|32|18874369 ; iTunes - Pause 其中,~ 在HoeKey中对应的是 Win 键,Z 和 X 分别对应相应的字母键,而32对应的则是空格键,256和258分别是 WM_KEYDOWN 和 WM_CHAR 的值,后面跟的两个数字是参数,表示按下的键及控制键状态,这里不详细说,具体可以查阅MSDN。 那么,加了这些配置之后,就可以使用 Win+Z 让 iTunes 播放上一首歌,Win+X 播放下一首歌,以及使用 Win+空格 来控制暂停和播放了。
如何解决Windows Vista中无法通过锐捷认证上网的问题
about 3 years ago - No comments
许多学校在寝室里上网都需要一个认证软件,连上内网之后才能通过VPN上外网,而在Windows Vista下面这些个软件可能工作不正常,从而在Windows Vista里不能上网。很不幸,我们学校就是其中这一。 寝室上网需要先用锐捷连上内网,再通过VPN连接外网。刚开始的时候,弄了半天,锐捷客户端硬是不能获取网卡信息,然后在Windows Vista里右下角的网络图标提示信息显示为“未识别的网络”,然后VPN拨号不可用。 在网上翻了一大会,终于给找到了解决办法,下面是步骤: 1. 下载并安装WinPcap v4.0 beta 2 貌似要装上这个才能获取网卡信息,天空下载地址:http://www.skycn.com/soft/11534.html 2. 下载VC7运行库 后面要用的一个软件需要用到VC7运行库,不过Windows Vista目前默认并没有带,所有需要另外下载。下载压缩包后解压,把里面的文件放到X:\Windows\System32中,其中X是Windows Vista所在的盘符。 msvcr71.dll:http://www.dll-files.com/dllindex/pop.php?msvcr71 msvcp71.dll:http://www.dll-files.com/dllindex/pop.php?msvcp71 mfc71.dll:http://www.dll-files.com/dllindex/pop.php?mfc71 3. 安装锐捷客户端 这步是在Widnows XP里上网也要用的^_^。 4. 下载Mento Supplicant 因为锐捷没有出Windows Vista的版本,而Windows Vista下注册表结构变了,所以锐捷客户端读不到网卡信息,从而不能链接,而这个程序就是用来解决这个问题的。下载压缩包后把解压出来的文件放到锐捷客户端根目录。 5. 最后的步骤 准备工作完成了,按正常步骤修改IP、网关、子网掩网及DNS服务器。在添加路由时需要注意,要在批处理文件上右击,选择“以管理员运行”,否则会出来权限不够的提示。因为锐捷不能获取网卡信息,要用第4步中的软件来代替锐捷进行第一次拨号,在拨号之前需要把“智能”选项卡的“启用智能重连”给去掉。用Mento连接上之后,就可以用VPN连接到公网了。 在用连接内网之前,需要关闭以太网的802.1x认证,如果没有无线网卡,默认在网卡属性页中是没有“认证”选项卡的,所以不需要改这个东西,如果想确定802.1x认证是关闭的话,可以通过Win+R打开“运行”对话框,然后在里面输入services.msc打开服务管理器,再找到Wire Autoconfig这个服务,将它启动即可,这样就能在网卡属性页中看到“认证”选项卡了。 至此,已经完美解决Windows Vista下在寝室里上网的问题了,不过玩了一个小时之后发现,除了卡点,还不如用Windows XP来得爽……