发新话题
打印

我用右键载入ISO,提示:"ultraiso not found"???

我用右键载入ISO,提示:"ultraiso not found"???

我在某个ISO文件上点右键,加载到N盘,然后提示:
"ultraiso not found“
这是怎么回事?
请稍候,正在载入图片……



[ 本帖最后由 kowloons 于 2007-12-30 20:54 编辑 ]

TOP

这个菜单在注册中是哪个位置,可以告诉我吗?

现在我自己在google上找到了:

       对于操作系统原理比较了解的朋友都会知道,一个完备的操作系统都会提供了一个外壳(shell),以方便普通的用户   
  使用操作系统提供的各种功能。windows(在这里指的是windows   95\windows   nt4.0以上版本的操作系统)的外壳不但提供   
  了方便美观的gui图形界面,而且还提供了强大的外壳扩展功能,大家可能在很多软件中看到这些外壳扩展了。例如在你的   
  系统中安装了winzip的话,当你在windows   explore中鼠标右键点击文件夹或者文件后,在弹出菜单中就会出现winzip的压   
  缩菜单。又或者bullet   ftp中在windows资源管理器中出现的ftp站点文件夹。   
          windows支持七种类型的外壳扩展(称为handler),它们相应的作用简述如下:     
   
    (1)context   menu   handlers:向特定类型的文件对象增添上下文相关菜单;     
   
    (2)drag-and-drop   handlers用来支持当用户对某种类型的文件对象进行拖放操作时的ole数据传输;     
   
    (3)icon   handlers用来向某个文件对象提供一个特有的图标,也可以给某一类文件对象指定图标;     
   
    (4)property   sheet   handlers给文件对象增添属性页(就是右键点击文件对象或文件夹对象后,在弹出菜单中选属性   
          项后出现的对话框),属性页可以为同一类文件对象所共有,也可以给一个文件对象指定特有的属性页;     
   
    (5)copy-hook   handlers在文件夹对象或者打印机对象被拷贝、移动、删除和重命名时,就会被系统调用,通过为windows   
          增加copy-hook   handlers,可以允许或者禁止其中的某些操作;     
   
    (6)drop   target   handlers在一个对象被拖放到另一个对象上时,就会被系统被调用;     
   
    (7)data   object   handlers在文件被拖放、拷贝或者粘贴时,就会被系统被调用。     
   
    windows的所有外壳扩展都是基于com(component   object   model)   组件模型的,外壳是通过接口(interface)来访问对象的。   
  外壳扩展被设计成32位的进程中服务器程序,并且都是以动态链接库的形式为操作系统提供服务的。因此,如果要对windows   
  的用户界面进行扩充的话,则具备写com对象的一些知识是十分必要的。   由于篇幅所限,在这里就不介绍com,读者可以参考   
  微软的msdn库或者相关的帮助文档,一个接口可以看做是一个特殊的类,它包含一组函数合过程可以用来操作一个对象。   
          写好外壳扩展程序后,必须将它们注册才能生效。所有的外壳扩展都必须在windows注册表的hkey_classes_root\clsid键   
  之下进行注册。在该键下面可以找到许多名字像{0000002f-0000-0000-c000-000000000046}的键,这类键就是全局唯一类标识   
  符(guid)。每一个外壳扩展都必须有一个全局唯一类标识符,windows正是通过此唯一类标识符来找到外壳扩展处理程序的。   
  在类标识符之下的inprocserver32子键下记录着外壳扩展动态链接库在系统中的位置。与某种文件类型关联的外壳扩展注册在   
  相应类型的shellex主键下。如果所处的windows操作系统为windows   nt,则外壳扩展还必须在注册表中的   
  hkey_local_machine\software\microsoft\windows\currentversion\shellextensions\approved主键下登记。   
          编译完外壳扩展的dll程序后就可以用windows本身提供的regsvr32.exe来注册该dll服务器程序了。如果使用delphi,也可   
  以在run菜单中选择register   activex   server来注册。     
   
          下面首先介绍一个比较常用的外壳扩展应用:上下文相关菜单,在windows中,用鼠标右键单击文件或者文件夹时弹出的那   
  个菜单便称为上下文相关菜单。要动态地在上下文相关菜单中增添菜单项,可以通过写context   menu   handler来实现。比如大家   
  所熟悉的winzip和ultraedit等软件都是通过编写context   menu   handler来动态地向菜单中增添菜单项的。如果系统中安装了   
  winzip,那么当用右键单击一个名为windows的文件(夹)时,其上下文相关菜单就会有一个名为add   to   windows.zip的菜单项。   

原文:http://topic.csdn.net/t/20010703/12/179601.html

[ 本帖最后由 kowloons 于 2007-12-30 21:11 编辑 ]

TOP

现在我把2个键值导出来:
HKEY_CLASSES_ROOT\CLSID\{AD392E40-428C-459F-961E-9B147782D099}
复制内容到剪贴板
代码:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{AD392E40-428C-459F-961E-9B147782D099}]
@="UIContextMenu Class"

[HKEY_CLASSES_ROOT\CLSID\{AD392E40-428C-459F-961E-9B147782D099}\InprocServer32]
@="C:\\UltraISO_865\\isoshell.dll"
"ThreadingModel"="Apartment"

[HKEY_CLASSES_ROOT\CLSID\{AD392E40-428C-459F-961E-9B147782D099}\ProgID]
@="ISOShell.UIContextMenu.1"

[HKEY_CLASSES_ROOT\CLSID\{AD392E40-428C-459F-961E-9B147782D099}\Programmable]

[HKEY_CLASSES_ROOT\CLSID\{AD392E40-428C-459F-961E-9B147782D099}\TypeLib]
@="{1CD46142-F3D3-4E46-87BA-7CC019142F9D}"

[HKEY_CLASSES_ROOT\CLSID\{AD392E40-428C-459F-961E-9B147782D099}\VersionIndependentProgID]
@="ISOShell.UIContextMenu"
我的ultraiso是在c:\UltraISO_865

TOP

这个问题我怀疑是isoshell.dll文件里面的ULTRAISO内部路径引起找不到ULTRAISO程序文件。
用查看器看到的路径是c:\program files\ultraiso
如果更改了安装位置,就算重新REGSVR32 isoshell.dll都不行,仍然是这个提示

望版主能解决这个问题。

TOP

请重新安装一下。如果为ZIP/RAR直接解压安装到非缺省目录,isoshell将无法正常运作。

TOP

引用:
原帖由 martinx 于 2008-1-3 14:24 发表
请重新安装一下。如果为ZIP/RAR直接解压安装到非缺省目录,isoshell将无法正常运作。
版主,继然有KEY的INI文件打头做绿色版的,何不把ISOSHELL这点局限给解决呢?

呵呵,为了绿色了

望能解决

TOP

将附件中的REG文件中路径改一下运行,再regsvr32试一下。
附件: 您所在的用户组无法下载或查看附件

TOP

引用:
原帖由 martinx 于 2008-1-4 21:06 发表
将附件中的REG文件中路径改一下运行,再regsvr32试一下。
可以了
小小的提一下UltraISO的缺省查看器能不能支持系统的环境变量? 默认="%windir%\notepad.exe"多好呀

TOP

#7楼的注册表文件:
复制内容到剪贴板
代码:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\EasyBoot Systems\UltraISO\5.0]
@="C:\\Program Files\\UltraISO"
修改成我的:f:\UltraISO2180,再运行:
复制内容到剪贴板
代码:
regsvr32 f:\UltraISO2180\isoshell.dll
仍旧不成功!我是绿色解压版的

TOP

发新话题