Windows Console 控制台、窗口界面切换

众所周知,控制台应用程序一般都会显示一个控制台窗口(虚拟DOS窗口),但很多时候控制台程序的执行逻辑根本不需要与用户进行交互,所以显示这个难看的窗口纯属多余,那么如何将它屏蔽掉呢?下面我向大家介绍一种方法。
  操作系统装载应用程序后,做完初始化工作就转到程序的入口点执行。程序的默认入口点实际上是由连接程序设置的,不同的连接器选择的入口函数也不尽相同。在VC下,连接器对控制台程序设置的入口函数是 mainCRTStartup,mainCRTStartup 再调用你自己编写的 main 函数;对图形用户界面(GUI)程序设置的入口函数是 WinMainCRTStartup,WinMainCRTStartup 调用你自己写的 WinMain 函数。
具体设置哪个入口点是由连接器的“/subsystem:”选项参数确定的,它告诉操作系统如何运行编译生成的.EXE文件。可以指定四种方式:“CONSOLE|WINDOWS|NATIVE|POSIX”如果这个选项参数的值为“WINDOWS”,则表示该应用程序运行时不需要控制台,有关连接器参数选项的详细说明请参考 MSDN 库。
下面我们将通过预编译指令来对编译器和连接器进行设置,从而达到我们的目的:例子代码运行后播放Windows系统启动声音三次,然后退出,运行后不会显示控制台窗口。

#include <windows.h>
#include <mmsystem.h>

#pragma comment(lib,"winmm.lib") // 告诉连接器与这个库连接,因为我们要播放多媒体声音
#pragma comment( linker, "/subsystem:/"windows/" /entry:/"mainCRTStartup/"" ) // 设置连接器选项

int main(void)
{
  PlaySound("SystemStart",NULL, SND_ALIAS|SND_SYNC);
  Sleep(50);
  PlaySound("SystemStart",NULL, SND_ALIAS|SND_SYNC);
  Sleep(50);
  PlaySound("SystemStart",NULL, SND_ALIAS|SND_SYNC);
  Sleep(50);

  return 0;
}

在 IDE 环境中新建一个空的控制台程序,将上述代码添加到工程中,编译运行。
### 回答1: 在Linux中,可以通过以下几种方式进行图形界面切换: 1. 使用Ctrl+Alt+F1~F6键切换到不同的虚拟终端,其中F1~F6分别对应着6个不同的终端。在终端中输入用户名和密码后,可以通过命令startx启动图形界面。 2. 在图形界面中使用Ctrl+Alt+F1~F6键切换到不同的虚拟终端。在终端中输入用户名和密码后,可以通过命令startx重新启动图形界面。 3. 在图形界面中使用Alt+Tab键切换到其他已经打开的程序窗口。 4. 在图形界面中使用Ctrl+Alt+L键锁定屏幕,此时需要输入密码才能解锁。 5. 在图形界面中使用Ctrl+Alt+Delete键强制退出当前程序或重启系统。 以上是常用的Linux图形界面切换方式,可以根据自己的需要选择合适的方式。 ### 回答2: Linux操作系统提供了多种方法切换图形界面。 1. Ctrl+Alt+F1~F6:在Linux中,我们可以通过按下Ctrl+Alt+F1~F6键来切换到不同的文本终端。每个文本终端都运行着一个Linux shell,用户可以在其中执行命令。第一个终端通常用于登录,而其他终端可以用于运行命令或查看系统状态。这些终端一般没有图形界面,只是提供了一个纯文本界面。 2. Startx命令:如果我们在Linux中已经登录并启动了一个文本终端,可以通过运行startx命令来启动图形界面。Startx命令会启动一个X Window系统,然后加载用户默认的图形界面环境。通过运行startx,我们可以从文本终端切换到图形界面。 3. Display Manager(显示管理器):在Linux发行版中,通常会安装一个显示管理器,比如GDM(GNOME显示管理器)或者LightDM。当我们启动计算机时,显示管理器会自动启动一个图形界面,供我们登录使用。我们可以在登录屏幕上切换图形界面,选择不同的用户环境。 4. Ctrl+Alt+Backspace(Xkill命令):有时,我们可能会遇到无法通过其他方式切换图形界面的情况,比如图形界面崩溃。在这种情况下,我们可以按下Ctrl+Alt+Backspace键,这会强制关闭当前的X服务器,并重新启动一个新的图形界面。 总之,Linux提供了多种方法来切换图形界面,用户可以根据自己的需要和情况选择相应的方式。无论是通过文本终端切换到图形界面,还是通过显示管理器登录不同的环境,这些方法都让我们更加灵活地使用Linux操作系统。 ### 回答3: 在Linux操作系统中,可以通过图形界面切换工具来进行图形界面的切换。常见的切换工具有gnome-session和startx。 gnome-session是GNOME桌面环境默认的会话管理器。它允许用户登录到GNOME桌面环境,并在GNOME的登录界面中选择不同的会话类型和窗口管理器。通过切换用户或注销操作,可以方便地切换到其他已经配置好的桌面环境。 startx是一个命令,用于启动X Window系统的服务。在终端中输入startx后,系统将启动X Window系统并加载默认的窗口管理器。用户可以通过修改对应配置文件来选择不同的窗口管理器,例如~/.xinitrc文件可以指定启动的窗口管理器。 除了上述两种方式,还可以通过使用虚拟控制台(Virtual Console)来进行图形界面的切换。在Linux系统中,通常有六个虚拟控制台,用户可以使用Ctrl + Alt + F1至F6快捷键来切换不同的虚拟控制台。其中,Ctrl + Alt + F7是默认的图形界面控制台。 总结来说,Linux图形界面的切换可以通过gnome-session、startx或虚拟控制台来实现。用户可以根据自己的需求和喜好来选择合适的方式进行切换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值