sdy623 发表于 2023-3-20 19:50

一键列出Adobe Acrobat 最近打开过的文件

Python新手 还请多多包含。
摘要:本文给出了一段快速遍历Acrobat “最近打开过的pdf” 记录的Python 代码,供大家分享。
缘起:
最近由于Acrobat出现问题,不得不重装Acrobat软件,导致Acrobat软件中“最近打开过的pdf”记录(下称记录)丢失。为了避免重装造成不便,我打算查找记录这种信息的机制。



猜想:
推测数据在注册表里面,使用RegWorkShop,将某文件作为关键字,对注册表进行搜索,果然搜索到了在注册表中记录的存放位置。
后对其进行导出备份,卸载软件后再导入注册表,发现记录成功还原。由此可以说明此记录存放于 `HKEY_CURRENT_USER\SOFTWARE\Adobe\Adobe Acrobat\DC\AVGeneral\cRecentFiles` 目录下



最后是遍历目录的Python代码
import winreg

def traverse_reg_key(key, depth=0):
    # 打开当前键
    hkey = winreg.OpenKey(winreg.HKEY_CURRENT_USER, key, 0, winreg.KEY_READ)
    # 获取子键数量和值数量
    subkey_count, value_count, last_modified = winreg.QueryInfoKey(hkey)
    # 遍历子键
    for i in range(subkey_count):
      subkey_name = winreg.EnumKey(hkey, i)
      subkey_path = f"{key}\\{subkey_name}"
      traverse_reg_key(subkey_path, depth + 1)
    # 遍历值
    for i in range(value_count):
      value_name, value_data, value_type = winreg.EnumValue(hkey, i)
      # 如果值名为'tFileName',则打印值的数据和类型
      if value_name == 'tFileName':
            print(' ' * (depth+1), '-', value_name, ':', value_data)
    # 关闭当前键


# 遍历对应键值
traverse_reg_key(r'SOFTWARE\Adobe\Adobe Acrobat\DC\AVGeneral\cRecentFiles')



sdy623 发表于 2023-3-21 11:36

taryll 发表于 2023-3-21 09:46
另外,关于ADOBE ACROBAT READER这个软件一开打,总有N多个Adobe RdrCEF后台进程,有没有大佬知道这些进程 ...

参照这个
https://helpx.adobe.com/cn/acrobat/kb/RdrCEF-exe-and-AcroCEF-exe-can-I-disable.html

和加密签名有关 一般不用

pengwenwei 发表于 2023-3-21 08:00

谢谢分享,使用教程

zxbbddp 发表于 2023-3-20 21:48

大佬厉害厉害,终于知道怎么列出最近打开的文件了,谢谢大佬!

4vad 发表于 2023-3-20 23:14

厉害,要是能打包成exe文件就更好了{:1_893:}

gmail6 发表于 2023-3-21 00:05

多谢分享,很实用

dahuangyyds 发表于 2023-3-21 00:32

缺少acropro.msi文件该怎么办呢

TheNobody 发表于 2023-3-21 07:13

这个好,改天试试其他软的

zhengxinjun 发表于 2023-3-21 07:30

有点意思,收藏了

meiyunyou 发表于 2023-3-21 08:07

谢谢大佬            

FYL11162022 发表于 2023-3-21 08:29

挺实用的
页: [1] 2 3
查看完整版本: 一键列出Adobe Acrobat 最近打开过的文件