无忧启动论坛

标题: 请问pe中如何实现imdisk的这个功能 [打印本页]

作者: 2012jc天马行空    时间: 2015-4-26 22:14
标题: 请问pe中如何实现imdisk的这个功能
设想这样的功能:1)双击iso文件,自动静默调用imdisk加载iso到一个可用盘符
                            2 )  挂载iso文件后,自动判断所挂虚拟磁盘根目录是否存在setup.exe文件,如果存                                                     在,自动打开setup.exe;如果不存在,则自动打开所挂目录
设想这样的功能主要是为了更加方便挂载系统iso镜像setup安装,请各位看看如何实现

作者: 红毛樱木    时间: 2015-4-26 22:51
把光盘自动运行打开  就OK了吧
作者: 2012jc天马行空    时间: 2015-4-26 22:55
红毛樱木 发表于 2015-4-26 22:51
把光盘自动运行打开  就OK了吧

像那个微pe工具箱,iso默认关联的是7-zip,无法实现双击挂载iso,但有imdisk,因此就想像这种情况能否利用imdisk来双击挂载
作者: chiannet    时间: 2015-4-26 23:04
本帖最后由 chiannet 于 2015-4-26 23:16 编辑


reg add "HKCR\.iso" /f /ve /t REG_SZ /d "imdisk.iso"
reg add "HKCR\imdisk.iso" /f /ve /t REG_SZ /d "ISO"
reg add "HKCR\imdisk.iso\DefaultIcon" /f /ve /t REG_SZ /d "%Windir%\system32\imdisk.cpl"
reg add "HKCR\imdisk.iso\shell" /f /ve /t REG_SZ /d ""
reg add "HKCR\imdisk.iso\shell\open" /f /ve /t REG_SZ /d ""
reg add "HKCR\imdisk.iso\shell\open\command" /f /ve /t REG_SZ /d "\"%Windir%\system32\pecmd.exe\" \"load imdsikiso.wcs %%1\""

del %0



上面这段保存为abc.cmd,在PECMD.ini某处调用运行一下,下面这段文字保存为%Windir%\system32\imdsikiso.wcs,我没有测试,你自己测试吧。

forx * a b c d e f g h i j k l m n o p q r s t u v w x y z,K,ifex %k%:\,!call abc

_sub abc
        imdisk -a -f "%%1" -m %k%:
        ifex %k%:\setup.exe,EXEC %k%:\setup.exe!EXEC explorer.exe %k%:\
        EXIT File
_end


作者: 2012jc天马行空    时间: 2015-4-26 23:06
chiannet 发表于 2015-4-26 23:04
reg add "HKCR\.iso" /f /ve /t REG_SZ /d "imdisk.iso"
reg add "HKCR\imdisk.iso" /f /ve /t REG_SZ ...

哈哈,太感谢C大了,一会熄灯了,明天马上测试
作者: 2012jc天马行空    时间: 2015-4-27 10:07
本帖最后由 2012jc天马行空 于 2015-4-27 10:08 编辑
chiannet 发表于 2015-4-26 23:04
reg add "HKCR\.iso" /f /ve /t REG_SZ /d "imdisk.iso"
reg add "HKCR\imdisk.iso" /f /ve /t REG_SZ / ...


老大,按你说的做了,但是我测试了我心如水的win8pe还有李培聪的微pe,双击后都无反应啊,还请看看

ps:进pe后,我查看了注册表,注册是成功的,imdsikiso.wcs也存在于system32目录下
作者: 红毛樱木    时间: 2015-4-27 10:09
2012jc天马行空 发表于 2015-4-27 10:07
老大,按你说的做了,但是我测试了我心如水的win8pe还有李培聪的微pe,双击后都无反应啊,还请看看

...

win8自带虚拟光驱,不需要这些就能做了
作者: 2012jc天马行空    时间: 2015-4-27 10:18
红毛樱木 发表于 2015-4-27 10:09
win8自带虚拟光驱,不需要这些就能做了

李培聪那个的虚拟光驱功能被7zip破坏了
作者: chiannet    时间: 2015-4-27 15:57
本帖最后由 chiannet 于 2015-4-27 15:59 编辑
2012jc天马行空 发表于 2015-4-27 10:07
老大,按你说的做了,但是我测试了我心如水的win8pe还有李培聪的微pe,双击后都无反应啊,还请看看

...

reg add "HKCR\.iso" /f /ve /t REG_SZ /d "imdisk.iso"
reg add "HKCR\imdisk.iso" /f /ve /t REG_SZ /d "ISO"
reg add "HKCR\imdisk.iso\DefaultIcon" /f /ve /t REG_SZ /d "%Windir%\system32\imdisk.cpl"
reg add "HKCR\imdisk.iso\shell" /f /ve /t REG_SZ /d ""
reg add "HKCR\imdisk.iso\shell\open" /f /ve /t REG_SZ /d ""
reg add "HKCR\imdisk.iso\shell\open\command" /f /ve /t REG_SZ /d "X:\Windows\system32\pecmd exec !X:\Windows\system32\imdsikiso.cmd \"%%1\""
del %0




上面这段保存为abc.cmd,在PECMD.ini某处调用运行一下,下面这段文字保存为%Windir%\system32\imdsikiso.cmd,X64 8.1 ramos下亲测通过。其它应该也差不多。

@echo off
for %%k in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
   if not exist %%k:\ (imdisk -a -f %1 -m %%k:
        if exist %%k:\setup.exe (pecmd exec %%k:\setup.exe) else (pecmd exec explorer.exe %%k:\)
        goto :end))
:end

作者: asqw101451    时间: 2015-4-30 02:51
改注册变去掉7zip关键iso选项,然后在和ui关联就行了
作者: 我要最小维护pe    时间: 2015-4-30 06:25
外部调用能用就行  为何非要集成在pe里




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3