首页 > 解决方案 > __main__.pyinstallerimporterror 无法加载 dynlib/dll “shcore”

问题描述

我使用 pyinstaller 打包一个 exe 文件。

它可以在我的电脑上正常运行(Win 10)。

但是在另一个人的电脑上(Win 7),它显示

__main__.pyinstallerimporterror failed to load dynlib/dll "shcore".

关于shcore,我用

import ctypes
PROCESS_PER_MONITOR_DPI_AWARE = 2
ctypes.windll.shcore.SetProcessDpiAwareness(PROCESS_PER_MONITOR_DPI_AWARE)

我应该怎么办?提前致谢。

标签: pythonwinapipyinstallerpywin32

解决方案


支持的最低客户端SetProcessDpiAwareness是 Windows 8.1。

并根据PROCESS_DPI_AWARENESS

在以前的 Windows 版本中,没有 PROCESS_PER_MONITOR_DPI_AWARE. 应用程序要么不知道 DPI,要么知道 DPI。在 Windows 8.1 之前被分类为 DPI 感知的旧应用程序被认为在当前版本的 Windows 中具有PROCESS_DPI_AWARENESS设置。PROCESS_SYSTEM_DPI_AWARE

您只能用于SetProcessDPIAware设置System DPI Aware


推荐阅读