全屏打开cmd

时间:2012-04-04 00:47:01

标签: python python-3.x cmd cx-freeze

我想知道默认情况下是否可以在cmd全屏中打开cx_Freeze创建一个python exe?

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

如果您准备调用某些Windows API函数,则可以按照以下步骤使控制台全屏显示:

  1. 调用GetStdHandle传递STD_OUTPUT_HANDLE以获取控制台句柄。
  2. 调用SetConsoleDisplayMode传递该控制台句柄和CONSOLE_FULLSCREEN_MODE
  3. 此时,您的控制台窗口将全屏显示。

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

答案 1 :(得分:1)

没有集成的cx_Freeze命令来执行此操作,但是如果在Windows上运行,则Ctypes提供了使用WinAPI执行此操作的方法。

示例代码:

int main()
{
scanf("%s", country);
testing_function(country);
}

int testing_function(char  country) 
{
    if((strcmp(user_day, "Australia")) && (strcmp(user_day, "Japan")))
    {
        printf("Please select only Australia or Japan");
        scanf("%s", &country);
        case_change(country); 
    }
return(country);
}

<强>解释

import ctypes kernel32 = ctypes.WinDLL('kernel32') user32 = ctypes.WinDLL('user32') SW_MAXIMIZE = 3 hWnd = kernel32.GetConsoleWindow() user32.ShowWindow(hWnd, SW_MAXIMIZE)

请参阅Documentation

  

检索与调用进程关联的控制台使用的窗口句柄。

基本上它获取终端的句柄,以便GetConsoleWindow()知道要修改的内容。

ShowWindow()

请参阅Documentation

  

设置指定窗口的显示状态。

即。它告诉窗口它应该是什么样的。

我们将终端句柄(存储在ShowWindow(hWnd, SW_MAXIMIZE)中)传递给此函数并调用hWnd以使其最大化。

请参阅nCmdShow section for all options