隐藏控制台console application窗口

 

如题,在windows上新建控制台应用程序的时候,怎么才能将console 黑窗口隐藏起来。

 

第一种方法:

::SetConsoleTitle(_T("test_exe"));
HWND hwnd=::FindWindow(_T(""),_T("test_exe"));
::ShowWindow(hwnd,SW_HIDE);

不行,试了,不清楚为什么失败….

窗口句柄抓到了,就是不明白为什么隐藏不了。。。。。。⊙﹏⊙b汗

两种方法抓到的句柄一模一样,同样的ShowWindow()函数,一个可以,一个不可以………..⊙﹏⊙b汗,好坑。。。。

 

 

第二种:

用spy++获得cmd窗口的类名称:

获得console窗口的类名称:ConsoleWindowClass

OK。

HWND hwnd;
hwnd=::FindWindow(_T("ConsoleWindowClass"),NULL);
::ShowWindow(hwnd,SW_HIDE);

通过窗口类名称调用 FindWindow()函数OK,可以隐藏console窗口。

 

第三种:

网上好多都是这种:

#pragma comment( linker, "/subsystem:\"windows\" /entry:\"wmainCRTStartup\"" ) 设置VS的链接器配置。

通过设置链接子系统为windows修改默认的console属性,并且制定程序的主入口地址:wmainCRTStartup

(unicode字符集下是wmainCRTStartup,多字节字符组则是mainCRTStartup);通过这种方式同样也可以达到

隐藏console窗口的效果。

隐藏控制台console application窗口

时间: 2024-10-08 17:27:49

隐藏控制台console application窗口的相关文章

在控制台程序中隐藏控制台窗口

大家都知道,当编写一个win32 console application时,当运行此类程序的时候默认情况下会有一个类似DOS窗口的console窗口,但是有的时候我们只想在程序中运行一段功能代码,不希望显示这个console窗口,让代码执行完毕之后程序自动退出. 下面就介绍一下,如何隐藏win32 console application的console窗口 因为此种方法是通过设置编译器的链接开关来实现,所以让我们来看一下编译器的链接开关选项(也就是linker选项). 首先我们来看一下linke

Hello World 之 控制台版本(Console Application)

原文:Hello World 之 控制台版本(Console Application) 先来介绍下Hello, World   "Hello, World"程序指的是只在计算机屏幕上输出"Hello, World!"(意为"世界,你好!")这行字符串的计算机程序.一般来说,这是每一种计算机编程语言中最基本.最简单的程序,亦通常是初学者所编写的第一个程序.它还可以用来确定该语言的编译器.程序开发环境,以及运行环境是否已经安装妥当. 将输出字符串&q

Windows 隐藏控制台

#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) 在程序中加上如上语句,可以隐藏控制台窗口. 用VC编写的程序,运行的时候需要C/C++运行库的支持. 当我们运行一个程序时,连接器会首先寻找应用程序的启动函数. 以下内容为引用,因小A水平有限,不懂编译器连接开关,未能证实.但结果有效,内容应该是合理的. 引用: 如果你建立了一个console

win32 Application 和Win32 Console Application 的区别

Win32 Application和Win32 Console Application 都是工作在32位Windows环境的程序.  其中Win32 Application 就是普通的常见的窗口应用程序,当然有的界面做得比较个性化,比如圆形的.不规则形状的-- 它们都是所谓的GUI(Graphics User Interface图形用户接口),我们可以通过鼠标点击来完成控制.  而Win32 Console Application(win32控制台应用程序)往往是像MS-DOS窗口(XP中叫命令

【转】win32 Application和win32 Console Application

这几天在创建MFC项目时,常常遇到一下两个连接错误,例如: 1. LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main解决方法: [Project] --> [Settings] --> 选择"Link"属性页, 在Project Options中将/subsystem:console改成/subsystem:windows. 2. 还有一种经常出现的相反的情况 LIBCD.lib(win

windows下控制台程序实现窗口显示

windows下实现窗口显示,如果限定是C/C++语言,并且是原生Windows支持,需要使用GDI或GDI+.一般是在Visual Studio里新建Win32应用程序,而不是Win32 console application(控制台程序),然后使用GDI的一些API,例如CreateWindow.CreateWindowEx来实现窗口的创建.显示等. 实际上MSDN官方并没有说只能是Win32应用程序,控制台程序完全可以.个人并不习惯WinMain()函数,更习惯main(int argc,

wcf services host in a console application

一个serviceHost多个wcf服务,宿主为console 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.ServiceModel; 5 using System.ServiceModel.Activation; 6 using System.ServiceModel.Web; 7 using System.Text; 8 9 namespace WcfRestS

控制台console对象常用的一些方法

console.log():调试中最常用的方法,用于在控制台窗口显示信息. console.log(123); //123 console.warn():输出信息时,在最前面加一个黄色三角,表示警告 console.warn('输出警告信息'); //输出警告信息 console.error():输出信息时,在最前面加一个红色叉,表示出错 console.error('输出错误信息'); //输出错误信息 console.assert():用来验证某个条件是否为真,如果是假,则显示一条事先指定的

C++ 让 Win32 Console Application 程序后台运行

方法一:(无闪现) 添加 #pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) 方法二:(这个会有闪现) #include "windows.h" void main() { HWND hwnd; if(hwnd=::FindWindow("ConsoleWindowClass",NULL)) //找到控制