无忧启动论坛

标题: PE PDF注册表(已成) [打印本页]

作者: gbzx    时间: 2022-9-26 21:10
标题: PE PDF注册表(已成)
本帖最后由 gbzx 于 2022-9-27 13:49 编辑

PE里添加SumatraPDF,放在PETOOLS里,它用一个注册表关联文件如下

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.pdf]
@="PDF Document"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PDF Document]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PDF Document\DefaultIcon]
@="X:\\PETOOLS\\PhotoTools\\SumatraPDF.exe,1"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PDF Document\shell]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PDF Document\shell\open]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PDF Document\shell\open\command]
@="\"X:\\PETOOLS\\PhotoTools\\SumatraPDF.exe\" \"%1\""


原文件是内置,盘符X是固定的。我要外置PETOOLS,盘符就是变化的,且PETOOLS还不一定放在U盘,这个盘符要如何处理?能不能把注册表转化成INI配置文件,在配置文件里,先获取PETOOLS盘符,再用reg添加注册表,请指教。

在网友Bluebells指导下,把上面注册表文件改成ini配置文件,放在任何位置都可以了

//获取PETOOLS.ini所在盘符并赋值Cdir
FORX !\PETOOLS\PETOOLS.ini,Myini,1,MSTR Cdir=1,2,%Myini%
//添加注册表关联文件
REGI $HKLM\SOFTWARE\Classes\.pdf\=PDF Document
REGI $HKLM\SOFTWARE\Classes\PDF Document\
REGI $HKLM\SOFTWARE\Classes\PDF Document\DefaultIcon\=%Cdir%\PETOOLS\PhotoTools\SumatraPDF.exe,1
REGI $HKLM\SOFTWARE\Classes\PDF Document\shell\
REGI $HKLM\SOFTWARE\Classes\PDF Document\shell\open\
REGI $HKLM\SOFTWARE\Classes\PDF Document\shell\open\command\="%Cdir%\PETOOLS\PhotoTools\SumatraPDF.exe" "%%1"


作者: zhangze    时间: 2022-9-26 21:26
pecmd.INI
作者: bjay2008xmy    时间: 2022-9-26 22:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: gbzx    时间: 2022-9-26 22:37
经过试验,已成功获取盘符,代码如下:

FORX !\PETOOLS\PETOOLS.ini,Myini,1,MSTR dir=1,1,%Myini%,变量dir返回值就是盘符。

PE日志如下

1        {ENTER:D:\setdpi.ini}
1        [LOGS X:\windows\pe.log]        <0>        :操作成功完成。
2        {FORX !\PETOOLS\PETOOLS.ini,Myini,1,MSTR dir=1,1,%Myini%}
2        [MSTR dir=1,1,D:\PETOOLS\PETOOLS.ini]        <0>        :操作成功完成。
2        [FORX !\PETOOLS\PETOOLS.ini,Myini,1,MSTR dir=1,1,%Myini%]        <0>        :操作成功完成。
3        [Mess D]        <0>        :操作成功完成。

现在谁能帮我把上面的注册表改成reg添加的形式,谢啦。
作者: Bluebells    时间: 2022-9-26 22:39
不要用注册表文件, 建议使用脚本文件
SumatraPDF 的 PDF 文件关联的批处理脚本代码:
  1. @echo off
  2. reg add "HKLM\SOFTWARE\Classes\.pdf" /ve /d "PDF Document" /f
  3. reg add "HKLM\SOFTWARE\Classes\PDF Document" /ve /d "PDF Document" /f
  4. reg add "HKLM\SOFTWARE\Classes\PDF Document\DefaultIcon" /ve /d "%~dp0SumatraPDF.exe,1" /f
  5. reg add "HKLM\SOFTWARE\Classes\PDF Document\shell\open" /ve /d "使用 SumatraPDF 打开" /f
  6. reg add "HKLM\SOFTWARE\Classes\PDF Document\shell\open\command" /ve /d ""%~dp0.exe" "%%1"" /f
复制代码
将上述代码保存到 SumatraPDF 主程序所在目录, 并命名为 Assoc.bat 或 Assoc.cmd, 然后双击执行或使用其它程序调用即可


SumatraPDF 的 PDF 文件关联的 PECMD 脚本代码:
  1. REGI $HKLM\SOFTWARE\Classes\.pdf\\=PDF Document
  2. REGI $HKLM\SOFTWARE\Classes\PDF Document\\=PDF Document
  3. REGI $HKLM\SOFTWARE\Classes\PDF Document\DefaultIcon\\=%Curdir%\SumatraPDF.exe,1
  4. REGI $HKLM\SOFTWARE\Classes\PDF Document\shell\open\\=使用 SumatraPDF 打开
  5. REGI $HKLM\SOFTWARE\Classes\PDF Document\shell\open\command\\="%Curdir%\SumatraPDF.exe" "%%1"
复制代码
将上述代码保存到 SumatraPDF 主程序所在目录, 并命名为 Assoc.ini 或 Assoc.wcs (其实随便扩展名也可以), 然后用 PECMD 的 LOAD 命令加载即可


作者: yjkl    时间: 2022-9-27 09:10
学习了
作者: yjkl    时间: 2022-9-27 13:22
谢谢分享
作者: jh198354    时间: 2022-9-27 13:41
跟着高人学习了
作者: lemontea888    时间: 2022-10-1 09:22

谢谢分享

作者: 2011wyy    时间: 2023-2-13 04:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: 2012sinkr    时间: 2023-3-11 09:05
谢谢分享,学习了
作者: 2010wxy    时间: 2023-3-27 19:49
谢谢分享
作者: czp0706    时间: 2023-3-27 21:50
你好,如果是想让你音频视频关联potplayer可以类似地怎么操作吗?
作者: czp0706    时间: 2023-3-27 21:51
czp0706 发表于 2023-3-27 21:50
你好,如果是想让你音频视频关联potplayer可以类似地怎么操作吗?

打多了个“你”字了
作者: yyz2191958    时间: 2023-3-28 08:14
Bluebells 发表于 2022-9-26 22:39
不要用注册表文件, 建议使用脚本文件
SumatraPDF 的 PDF 文件关联的批处理脚本代码:
将上述代码保存到 Su ...

进来学习
作者: gbzx    时间: 2023-4-4 15:45
yyz2191958 发表于 2023-3-28 08:14
进来学习

各有优缺点,你的方案虽不需改PE,但还要添加文件
作者: nowayer    时间: 2023-11-28 12:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: 13851855007    时间: 2023-12-12 09:55
感谢分享
作者: dczxlgm    时间: 2023-12-13 09:33

感谢分享
作者: zzzlllxyt    时间: 2023-12-13 17:45
谢谢分享




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