3

我想知道是否可以在默认情况下在 cmd 全屏中打开使用 cx_Freeze 制作的 python exe?

谢谢你的帮助。

4

2 回答 2

3

如果您准备调用一些 Windows API 函数,那么您可以让您的控制台全屏显示,如下所示:

  1. 调用GetStdHandle传递STD_OUTPUT_HANDLE以获取控制台句柄的句柄。
  2. 调用SetConsoleDisplayMode传递该控制台句柄和CONSOLE_FULLSCREEN_MODE.

此时您的控制台窗口将全屏显示。

我不知道这些函数是否可以在 win32 Python 模块之一中轻松使用,但使用 ctypes 调用它们非常简单。

于 2012-04-05T15:27:31.620 回答
1

没有集成的 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最大化。

有关所有选项,请参阅该部分nCmdShow

于 2018-05-26T09:28:29.623 回答