使用Python检测Windows 10明暗主题,是否有适配Python 2.7的win32api方案?
Windows 10 深浅色主题检测方案说明
检测方法说明
Windows 10 1809及更高版本的主题配色配置默认存储在注册表中,不需要依赖额外的UWP接口即可读取,是官方公开的配置路径。
官方支持的Win32调用方案(Python 2.7 兼容)
微软官方没有提供专门的主题检测独立API,但可以通过标准Win32注册表API RegGetValueW 读取对应配置项实现检测,该API从Windows Vista版本开始纳入系统,完全支持Python 2.7运行环境。
你需要先安装Python 2.7适配的pywin32库(最后兼容版本为v228),参考实现代码如下:
import win32api import win32con def get_windows_app_theme(): try: # 打开对应的注册表路径 key = win32api.RegOpenKeyEx( win32con.HKEY_CURRENT_USER, r"Software\Microsoft\Windows\CurrentVersion\Themes\Personalize", 0, win32con.KEY_READ ) # 读取应用层主题配置,0=深色主题,1=浅色主题 value, _ = win32api.RegQueryValueEx(key, "AppsUseLightTheme") win32api.RegCloseKey(key) return "light" if value == 1 else "dark" except Exception as e: # 键不存在时默认返回浅色主题(适配低于1809版本的Win10系统) return "light"
如果需要检测系统级主题(任务栏、开始菜单的配色),可以把代码中的键名替换为SystemUsesLightTheme,判断逻辑完全一致。
内容的提问来源于stack exchange,提问作者Rushikesh Korde
相关产品推荐
相关产品推荐

