gbzx 发表于 2022-9-26 21:10:54

PE PDF注册表(已成)

本帖最后由 gbzx 于 2022-9-27 13:49 编辑

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

Windows Registry Editor Version 5.00


@="PDF Document"


@="X:\\PETOOLS\\PhotoTools\\SumatraPDF.exe,1"



@="\"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:53

pecmd.INI

bjay2008xmy 发表于 2022-9-26 22:25:54

gbzx 发表于 2022-9-26 22:37:22

经过试验,已成功获取盘符,代码如下:

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

PE日志如下

1        {ENTER:D:\setdpi.ini}
1                <0>        :操作成功完成。
2        {FORX !\PETOOLS\PETOOLS.ini,Myini,1,MSTR dir=1,1,%Myini%}
2                <0>        :操作成功完成。
2                <0>        :操作成功完成。
3                <0>        :操作成功完成。

现在谁能帮我把上面的注册表改成reg添加的形式,谢啦。

Bluebells 发表于 2022-9-26 22:39:13

不要用注册表文件, 建议使用脚本文件
SumatraPDF 的 PDF 文件关联的批处理脚本代码:
@echo off
reg add "HKLM\SOFTWARE\Classes\.pdf" /ve /d "PDF Document" /f
reg add "HKLM\SOFTWARE\Classes\PDF Document" /ve /d "PDF Document" /f
reg add "HKLM\SOFTWARE\Classes\PDF Document\DefaultIcon" /ve /d "%~dp0SumatraPDF.exe,1" /f
reg add "HKLM\SOFTWARE\Classes\PDF Document\shell\open" /ve /d "使用 SumatraPDF 打开" /f
reg add "HKLM\SOFTWARE\Classes\PDF Document\shell\open\command" /ve /d "\"%~dp0.exe\" \"%%1\"" /f
将上述代码保存到 SumatraPDF 主程序所在目录, 并命名为 Assoc.bat 或 Assoc.cmd, 然后双击执行或使用其它程序调用即可


SumatraPDF 的 PDF 文件关联的 PECMD 脚本代码:
REGI $HKLM\SOFTWARE\Classes\.pdf\\=PDF Document
REGI $HKLM\SOFTWARE\Classes\PDF Document\\=PDF Document
REGI $HKLM\SOFTWARE\Classes\PDF Document\DefaultIcon\\=%Curdir%\SumatraPDF.exe,1
REGI $HKLM\SOFTWARE\Classes\PDF Document\shell\open\\=使用 SumatraPDF 打开
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:04

学习了

yjkl 发表于 2022-9-27 13:22:41

谢谢分享

jh198354 发表于 2022-9-27 13:41:19

跟着高人学习了

lemontea888 发表于 2022-10-1 09:22:56


谢谢分享

2011wyy 发表于 2023-2-13 04:51:07

2012sinkr 发表于 2023-3-11 09:05:07

谢谢分享,学习了

2010wxy 发表于 2023-3-27 19:49:35

谢谢分享

czp0706 发表于 2023-3-27 21:50:11

你好,如果是想让你音频视频关联potplayer可以类似地怎么操作吗?

czp0706 发表于 2023-3-27 21:51:03

czp0706 发表于 2023-3-27 21:50
你好,如果是想让你音频视频关联potplayer可以类似地怎么操作吗?

打多了个“你”字了

yyz2191958 发表于 2023-3-28 08:14:22

Bluebells 发表于 2022-9-26 22:39
不要用注册表文件, 建议使用脚本文件
SumatraPDF 的 PDF 文件关联的批处理脚本代码:
将上述代码保存到 Su ...

进来学习

gbzx 发表于 2023-4-4 15:45:14

yyz2191958 发表于 2023-3-28 08:14
进来学习

各有优缺点,你的方案虽不需改PE,但还要添加文件

nowayer 发表于 2023-11-28 12:51:14

13851855007 发表于 2023-12-12 09:55:25

感谢分享

dczxlgm 发表于 2023-12-13 09:33:55


感谢分享

zzzlllxyt 发表于 2023-12-13 17:45:10

谢谢分享
页: [1]
查看完整版本: PE PDF注册表(已成)