⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp.bak

📁 通过一个示例程序
💻 BAK
字号:
/**
* @file main.cpp
* @brief 演示了隐藏控制台窗口、禁用关闭按钮、控制台窗口启动最小化、更改控制台图标的实现。
* @author Hao Liming
* @date 2009-1-9 9:11:51
* @version 0.1
* <pre><b>copyright: CASCO</b></pre>
* <pre><b>email: </b>haoliming@casco.com.cn</pre>
* <pre><b>company: </b>http://www.casco.com.cn</pre>
* <pre><b>All rights reserved.</b></pre>
* <pre><b>modification:</b></pre>
* <pre>Write modifications here.</pre>
*/

/**
* @brief 
* a.隐藏控制台窗口、禁用关闭按钮、控制台窗口启动最小化在main函数中实现.
* b.更改控制台程序图标的实现在这里进行说明。在VS2008中可以直接创建图标,并与资源文件绑定。这里仅对VC6进行说明。
*    1.新建图标文件。“File”->"New"->"Icon File"->假设输入文件名为pic,则图标文件名为pic.ico
*    2.新建资源文件。“File”->"New"->"Resource Script"->输入与工程同名的资源名称,本示例为ConsoleManamengent.rc
*    3.修改资源文件。用记事本工具打开工程目录下的ConsoleManamengent.rc,在最后一行加入:IDI_ICON1 ICON  DISCARDABLE "pic.ico"
*    4.保存资源文件,重新编译。
*/

/** @brief 需要包含的头文件*/
#include <windows.h>

/** @brief 1.隐藏控制台窗口*/
#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")

int main(int argc, char * argv[])
{
    char buf[MAX_PATH];   
    GetConsoleTitle(buf, MAX_PATH);   
    HWND hwnd = ::FindWindow(NULL, buf);   
    HMENU hmenu = ::GetSystemMenu(hwnd, FALSE);   
    if (hwnd)
    {
        /** @brief 2.禁用控制台窗口的关闭按钮*/
        ::RemoveMenu(hmenu, SC_CLOSE, MF_BYCOMMAND);

        /** @brief 3.控制台程序启动时窗口最小化*/
        ::SendMessage(hwnd, WM_SYSCOMMAND, SC_MINIMIZE, 0);
    }

    /** @brief 4.获得服务器启动程序当前路径,并添加到注册表自启动*/
    TCHAR workingPath[MAX_PATH];
    ZeroMemory(workingPath, MAX_PATH);

    if (GetModuleFileName(NULL, workingPath, MAX_PATH) > 0)
    {
		//取得当前工作路径成功
        HKEY hKey;
        if (RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", &hKey) != ERROR_SUCCESS)
        {
            //创建注册表成功
        }
        else 
        {
            if (RegSetValueEx(hKey, "CASCO Log Sever", 0, REG_SZ, (CONST BYTE *)(LPCTSTR)workingPath, strlen(workingPath)) != ERROR_SUCCESS)
            {
                //设置注册表失败,不自启动
            }
            else
            {
                //设置注册表成功,启动设置成功
            }
            RegCloseKey(hKey);
        }
    }
    else
    {
        //取得当前工作路径成功失败,不自启动
    }
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -