我想知道是否可以在默认情况下在 cmd 全屏中打开使用 cx_Freeze 制作的 python exe?
谢谢你的帮助。
如果您准备调用一些 Windows API 函数,那么您可以让您的控制台全屏显示,如下所示:
GetStdHandle
传递STD_OUTPUT_HANDLE
以获取控制台句柄的句柄。SetConsoleDisplayMode
传递该控制台句柄和CONSOLE_FULLSCREEN_MODE
.此时您的控制台窗口将全屏显示。
我不知道这些函数是否可以在 win32 Python 模块之一中轻松使用,但使用 ctypes 调用它们非常简单。
没有集成的 cx_Freeze 命令来执行此操作,但是如果您在 Windows 上运行,Ctypes 提供了一种使用 WinAPI 执行此操作的方法。
示例代码:
import ctypes
kernel32 = ctypes.WinDLL('kernel32')
user32 = ctypes.WinDLL('user32')
SW_MAXIMIZE = 3
hWnd = kernel32.GetConsoleWindow()
user32.ShowWindow(hWnd, SW_MAXIMIZE)
解释:
GetConsoleWindow()
:
查看文档
检索与调用进程关联的控制台使用的窗口句柄。
基本上它获取终端的句柄,以便ShowWindow()
知道要修改什么。
ShowWindow(hWnd, SW_MAXIMIZE)
查看文档
设置指定窗口的显示状态。
即它告诉窗口它应该是什么样子。
我们将终端句柄(存储在 中hWnd
)传递给该函数并调用3
最大化。