Tag Archives: Windows

在浏览器右键添加自定义菜单

其实就是类似当安装完 Flashget 后 Internet Explorer 的右键多了“使用网际快车下载”的选项一样,现在我们的需求是:当我们在图片右键时出现“复制图像地址”的选项。

其实很简单,先把下列代码存为 abc.reg 并导入:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\复制图像地址(&Z)]
@=”C:\\CopyImageUrl.htm”
“contexts”=dword:00000002

并把下列代码存为 C:CopyImageUrl.htm:

<script language=”javascript” defer>
var Elem=external.menuArguments.event.srcElement;
var imgUrl=”;
if(Elem.tagName==’IMG’) imgUrl=Elem.src;
else if(Elem.tagName==’A’){
var cElem=Elem.children;
if(cElem.length){
for(i=0; i<=cElem.length-1; i++){
if(cElem[i].tagName==’IMG’) imgUrl=cElem[i].src;
break;
}
}
}
if(imgUrl) clipboardData.setData(‘text’,imgUrl)
</script>

重启你的浏览器就可以用了。 Continue reading

修改系统默认的文本类型编辑方式

除了有时编辑网页需要浏览效果会用 DW 外,其他的文本编辑都是用 EditPlus 来完成的。多窗口、正则替换、块状选取、自动缩进、删除行尾空格……等等,试问那个操作 Notepad 能够信任!?没有。

Windows 里的文本格式文件默认关联程序是“记事本”,右键快捷菜单一般固定是两项:“打开 – Notepad.exe”、“编辑 – Notepad.exe”。记事本打开,这个没什么好说的,毕竟它简单,快;但编辑还是用它,我就有点受不了。最惨“编辑(E)”快捷键是 E,还和“Editplus”冲突了,让人完全无法视而不见,不得不去之而后快……

问题来了!在那里修改!?注册表里的“.txt”和“txtfile”都没有直接修改的选项;最后得到了关键字:PerceivedTypes 和 SystemFileAssociations。搜索而到了微软的 MSDN:

PerceivedTypes, SystemFileAssociations, and Application Registration

PerceivedTypes are similar to file types except they refer to broad categories of file format types, rather than specific file types. For example, Image, Text, Audio, and Compressed are PerceivedTypes. File types (generally public file types) can also have a PerceivedType, and should always be defined as such when appropriate. For example, the image file types .bmp, .png, .jpg and .gif are also of PerceivedType Image. Continue reading

条件注释 Conditional Comments

Firefox 下的换行问题早已不是一两天的事了,不过终究可以用折衷办法解决:在定义 width 的情况下定义:overflow: hidden。IE 当然早有办法,就是用:word-wrap: break-word,问题是 CSS2 不认这个用法,导致 CSS 总是无法通过 CSS Validator。不过,经过一番折腾,现在这个问题也不成问题了——就是传说中的条件注释Conditional Comments)。

IE Box Model Hack

先说说这个好象是个非常之有名的 CSS Hack,其实对这个我无甚了解。因为在我开始了解 CSS 的几年前就不用 IE5.5- 了,而我也相信现在几乎没人用(除非你还用Win98,或者你还在对兼容性这个话题孜孜不倦)。据说用下面两种方法可以解决(当然,都需要声明正确的文档类型):

div.content {
width:400px;
voice-family: “\”}\””;
voice-family:inherit;
width:300px;
}

html>body .content {
width:300px;
}

div.content {
width:300px !important;
width /**/:400px;
}

html>body .content {
width:300px;
}

CSS Hack For IE

有些时候,你需要对IE浏览器的bug定义一些特别的规则,这里有太多的CSS技巧(hacks),我只使用其中的两种方法,不管微软在即将发布的 IE7 beta 版里是否更好的支持CSS,这两种方法都是最安全的。 Continue reading

npkcrypt 服务启动失败

事件类型: 错误
事件来源: Service Control Manager
事件种类: 无
事件 ID: 7000
日期:  2006-1-6
事件:  9:00:30
用户:  N/A
计算机: AFLY
描述:
由于下列错误,npkcrypt 服务启动失败:
系统找不到指定的文件。
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

刚才重启机器,突然出现提示某个驱动错误,看了下事件日志:npkcrypt 服务启动失败。查了下相关资料,QQ2005 Beta3 整合了一个叫做 npkcrypt 的键盘加密程序,美其明曰保护用户密码输入安全,其实是不经用户同意擅自在用户系统中安装莫名其妙驱动程序。安装此版本后,密码不能通过粘贴的方法输入,密码为中文的QQ用户没法登录。

如果手动删除QQ或转移QQ目录或正常路径卸载该版本后 npkcrypt 也可能没有正常卸载,就会出现以上的“npkcrypt 服务启动失败: 系统找不到指定的文件”错误。

解决方法:

1、在“我的电脑”上点右键,选“管理”->“设备管理器”。
2、选择“查看”/“显示隐藏的设备”,在“非即插即用驱动程序”中选择“npkcrypt”,卸载之。
3、运行“regedit”,可能存在键项:“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\npkcrypt”或“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\npkcrypt”等,删除之。
4、如果QQ目录存在:npkcrypt.sys、npkcrypt.vxd、npkcusb.sys 三个文件,删除之。
5、下次启动后即可生效。

不能访问 Windows Installer 服务

如果你的系统是 WinXP,在安装 Office2003 时出现了“不能访问 Windows Installer 服务,可能是你在安全摸式下运行 Windows 或 Window Installer 没有正确安装”错误(实际上是所有使用 Windows Installer 服务安装的 MSI 格式程序均不能正常安装);在“服务”里查看“Windows Installer ”服务的状态,一般为停用,当你试图启用此服务,会发现此服务已被系统禁用,或则 Windows Installer 服务已被标记为删除;而当你尝试重新安装 Windows Installer 服务时,系统提示“指定的服务已存在”——那这篇文章就是你想要的了。

解决方法(在 WinXP/Win2000 上通过):

  1. 先用记事本编写如下内容,并保存为 installer.reg 格式文件,双击将文件导入注册表;
  2. 运行“CMD”命令提示符,输入“msiexec /regserver”并回车;
  3. 无须重新启动,即刻搞掂!

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]
“ImagePath”=-
“ImagePath”=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,\
00,73,00,69,00,65,00,78,00,65,00,63,00,2e,00,65,00,78,00,65,00,20,00,2f,00,\
56,00,00,00

; ImagePath = %SystemRoot%\System32\msiexec.exe /V