zoukankan      html  css  js  c++  java
  • C++ 让 Win32 Console Application 程序后台运行

     

    方法一:(无闪现)

    添加  
    #pragma comment( linker, "/subsystem:"windows" /entry:"mainCRTStartup"" )
     

    方法二:(这个会有闪现)

    #include "windows.h"

    void main()

    {

    HWND hwnd;

    if(hwnd=::FindWindow("ConsoleWindowClass",NULL)) //找到控制台句柄
    {
    ::ShowWindow(hwnd,SW_HIDE); //隐藏控制台窗口
    }

    //加入你的代码。程序运行之后,窗口会自动隐藏,只有在任务管理器中的进程中可以看到。

    }

          使用以上代码,可以达到隐藏当前控制台窗口的效果。但是,如果系统开机时自动加载此程序,就会发现:控制台窗口没有自动隐藏,如果关闭此窗口,双击此控制台程序,发现窗口隐藏了。要解决此问题,可以使用以下代码:

    #include "windows.h"

    void main()

    {
    //开机自动隐藏窗口
    HWND hwnd;
    hwnd=FindWindow("ConsoleWindowClass",NULL);//找到当前窗口句柄
    if(hwnd)
    {
       ShowOwnedPopups(hwnd,SW_HIDE);//显示或隐藏由指定窗口所有的全部弹出式窗口
       ShowWindow(hwnd,SW_HIDE);//控制窗口的可见性
       //WinExec 函数: 控制窗口的显示形式
       //假如开机自动运行: C:\WINDOWS\SYSTEM32\KeyboardRec.exe
       WinExec("C:\WINDOWS\SYSTEM32\KeyboardRec.exe",SW_HIDE);
    }

    //你的其他代码

    }

       注意:隐藏窗口的代码,一定要放在主函数的最前面;否则控制台窗口有可能无法隐藏。

  • 相关阅读:
    p1373【奶牛的卧室】
    p1248【交错匹配】(DP)
    QBXT模拟赛T3
    NOIP冲刺班的考试总结
    欧拉回路的一些东西
    一道dp题目
    Blocks
    玩具取名
    Y的积木
    游荡的奶牛
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/4793965.html
Copyright © 2011-2022 走看看