隐藏控制台console application窗口

 

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

 

第一种方法:

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

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

隐藏控制台console application窗口隐藏控制台console application窗口

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

隐藏控制台console application窗口

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

 

 

第二种:

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

隐藏控制台console application窗口

获得console窗口的类名称:ConsoleWindowClass

隐藏控制台console application窗口

OK。

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

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

 

第三种:

网上好多都是这种:

隐藏控制台console application窗口

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

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

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

隐藏console窗口的效果。

隐藏控制台console application窗口,布布扣,bubuko.com

隐藏控制台console application窗口

上一篇:番外篇-AppService服务


下一篇:android Handler