zoukankan      html  css  js  c++  java
  • 隐藏控制台console application窗口

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

    第一种方法:

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

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

    imageimage

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

    image

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

    第二种:

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

    image

    获得console窗口的类名称:ConsoleWindowClass

    image

    OK。

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

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

    第三种:

    网上好多都是这种:

    image

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

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

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

    隐藏console窗口的效果。

  • 相关阅读:
    为了我们自己的利益,请不要去支持番茄花园。
    游戏版本比较的算法[ZZ]
    DXUT框架剖析(9)
    强制删除任意文件以及文件夹
    安全幻想曲2008
    DXUT框架剖析(12)
    DXUT框架剖析(6)
    [Ph4nt0m] [zz]The Emergence Of A Theme
    俄国农民乘法
    写在msn签名上的I'M 计划
  • 原文地址:https://www.cnblogs.com/sunbing/p/3881301.html
Copyright © 2011-2022 走看看