最新做了一个小东西,需要使用Python定时给微信群发消息,在程序运行时,首先需要判断下有没有安装PC版的微信。
Python版本:3.11.1 x64
Window版本:Win10 22H2 专业版
安装完PC版微信后,注册表是下图这样的
要获取windows程序安装路径需要访问注册表,首先需要安装pywin32包
pip install pywin32
pywin32包中包含三个模块
win32api
win32con
win32gui
这里只需要用到win32api和win32con这两个模块
import win32api
import win32con
# 读取注册表找到微信的安装路径
def getWxInstallPath():
try:
# 注册表打开
# RegOpenKey(key, subKey , reserved , sam)
# key: HKEY_CLASSES_ROOT HKEY_CURRENT_USER HEKY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_CONFIG
# subkey: 要打开的子项
# reserved: 必须为0
# sam: 对打开的子项进行的操作,包括win32con.KEY_ALL_ACCESS、win32con.KEY_READ、win32con.KEY_WRITE等
key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER, "SOFTWARE\Tencent\WeChat", 0, win32con.KEY_ALL_ACCESS)
# 这里的key表示键值,后面是具体的键名,读取出来是个tuple
value = win32api.RegQueryValueEx(key, "InstallPath")[0]
# 用完之后记得关闭
win32api.RegCloseKey(key)
# 微信的路径
value += "\\" + "WeChat.exe"
return value
except Exception as ex:
logWriter(str(ex))