Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Windows 10上将.NET核心控制台应用程序切换为全屏模式_C#_.net Core_Windows 10_Console Application_Fullscreen - Fatal编程技术网

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

C# 在Windows 10上将.NET核心控制台应用程序切换为全屏模式,c#,.net-core,windows-10,console-application,fullscreen,C#,.net Core,Windows 10,Console Application,Fullscreen,在Windows 10中,可以通过按F11或Alt+Enter将控制台应用程序切换到全屏模式。请注意,这不是您祖父在Windows Vista之前支持的纯文本VGA全屏模式。虽然在此模式下没有可见的任务栏或标题栏,但其他窗口(或开始菜单)可以在其顶部弹出,并且它是windows GUI的一部分 我有一个运行在Windows10上的.NETCore/C#控制台应用程序。当我需要将其切换到全屏模式时,我使用P/Invoke在将其置于前台后向自己的窗口发送F11击键。很明显,如果应用程序之前已经手动切

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

我有一个运行在Windows10上的.NETCore/C#控制台应用程序。当我需要将其切换到全屏模式时,我使用P/Invoke在将其置于前台后向自己的窗口发送F11击键。很明显,如果应用程序之前已经手动切换到全屏模式,它并没有达到我想要的效果,但我可以尝试通过计算窗口大小来检测它

我正在寻找一种不太迂回的方法来做这件事。我想知道:

  • 如何从控制台应用程序检查当前是否处于全屏模式
  • 如何在全屏模式下切换控制台应用程序

你的应用程序是如何运行的?我的意思是,如果你从命令行运行你的应用程序,比如
dotnet你的_app.dll
,那么alt+enter在Windows10中工作,刚刚选中。您需要一些不同的东西吗?因为这是特定于Windows的,所以您需要使用WINAPI函数。您可以在此处找到控制台Api函数:@iakobski谢谢,我可以使用此函数检查控制台窗口的当前模式。但是,显然,它的对应项
SetConsoleDisplayMode
不受支持,并且对Windows 10没有任何影响。有一个专门讨论新控制台功能的论坛,它可能是询问是否以编程方式支持此功能的合适论坛,如果没有,则发出功能请求(跟踪启动时执行此操作的选项,按需以编程方式执行似乎没有问题)。@VladimirReshetnikov我可以请您共享代码吗?