From 86de31f274687e0fb4c249927e7d69c92f22331e Mon Sep 17 00:00:00 2001 From: xaoyaoo Date: Sun, 3 Dec 2023 19:54:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86bug=20#34?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pywxdump/wx_info/get_wx_db.py | 9 +++++++-- pywxdump/wx_info/get_wx_info.py | 10 ++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/pywxdump/wx_info/get_wx_db.py b/pywxdump/wx_info/get_wx_db.py index cf571b1..e30798b 100644 --- a/pywxdump/wx_info/get_wx_db.py +++ b/pywxdump/wx_info/get_wx_db.py @@ -24,10 +24,15 @@ def get_wechat_db(require_list: Union[List[str], str] = "all", msg_dir: str = No try: # 打开注册表路径 key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, - r"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders") + r"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders") documents_path = winreg.QueryValueEx(key, "Personal")[0] # 读取文档实际目录路径 winreg.CloseKey(key) # 关闭注册表 - w_dir = documents_path + documents_paths = os.path.split(documents_path) + if "%" in documents_paths[0]: + w_dir = os.environ.get(documents_paths[0].replace("%", "")) + w_dir = os.path.join(w_dir, os.path.join(*documents_paths[1:])) + else: + w_dir = documents_path except Exception as e: profile = os.path.expanduser("~") w_dir = os.path.join(profile, "Documents") diff --git a/pywxdump/wx_info/get_wx_info.py b/pywxdump/wx_info/get_wx_info.py index fb20317..4c723bd 100644 --- a/pywxdump/wx_info/get_wx_info.py +++ b/pywxdump/wx_info/get_wx_info.py @@ -81,14 +81,20 @@ def get_info_filePath(wxid="all"): # 获取文档实际目录 try: # 打开注册表路径 - key = winreg.OpenKey(winreg.HKEY_CURRENT_USER,r"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders") + key = winreg.OpenKey(winreg.HKEY_CURRENT_USER,r"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders") documents_path = winreg.QueryValueEx(key, "Personal")[0]# 读取文档实际目录路径 winreg.CloseKey(key) # 关闭注册表 - w_dir = documents_path + documents_paths = os.path.split(documents_path) + if "%" in documents_paths[0]: + w_dir = os.environ.get(documents_paths[0].replace("%","")) + w_dir = os.path.join(w_dir,os.path.join(*documents_paths[1:])) + else: + w_dir = documents_path except Exception as e: profile = os.path.expanduser("~") w_dir = os.path.join(profile, "Documents") msg_dir = os.path.join(w_dir, "WeChat Files") + if wxid == "all" and os.path.exists(msg_dir): return msg_dir