在 Windows 10 上将 .NET Core 控制台应用程序切换为全屏模式

Vla*_*kov 8 c# fullscreen console-application windows-10 .net-core

F11在 Windows 10 中,可以通过按或Alt+将控制台应用程序切换到全屏模式Enter。请注意,这不是 Windows Vista 之前支持的纯文本 VGA 全屏模式。尽管在此模式下没有可见的任务栏或标题栏,但其他窗口(或“开始”菜单)可以在其顶部弹出,并且它是 Windows GUI 的一部分。

我有一个在 Windows 10 上运行的 .NET Core / C# 控制台应用程序。当我需要将其切换到全屏模式时,我使用 P/Invoke 将击键发送F11到我自己的窗口,然后将其置于前台。显然,如果应用程序之前已经手动切换到全屏模式,它不会执行我想要的操作,但我可以尝试通过对窗口大小进行一些计算来检测它来解决它。

我正在寻找一种不那么迂回的方法来做到这一点。我想知道:

  • 如何从控制台应用程序检查它当前是否处于全屏模式?
  • 如何将控制台应用程序切换到全屏模式或从全屏模式切换到全屏模式?

MD.*_*SAN 4

  1. 检查全屏
 bool isFullScreen()
{
    return Console.WindowWidth ==Console.LargestWindowWidth &&  Console.WindowHeight ==  Console.LargestWindowHeight;
}
Run Code Online (Sandbox Code Playgroud)
  1. 切换到全屏模式
Console.SetWindowSize(Console.LargestWindowWidth, Console.LargestWindowHeight);
Run Code Online (Sandbox Code Playgroud)