1. 程式人生 > >控制控制檯視窗的關閉

控制控制檯視窗的關閉

1、要禁止關閉按鈕的話可以直接從系統選單裡移除,
#include <Windows.h>
#include <stdio.h>

void main()
{
    DeleteMenu(GetSystemMenu(GetConsoleWindow(), FALSE), SC_CLOSE, MF_BYCOMMAND);
    DrawMenuBar(GetConsoleWindow());
}
2、也可以通過攔截訊息的話可以通過SetConsoleCtrlHandler和HandlerRoutine函式(msdn一下)
#include <Windows.h>
#include <stdio.h>

BOOL MyHandler( DWORD dwCtrlType ) 
{
    if ( dwCtrlType == CTRL_CLOSE_EVENT )
    {
        printf("Cannot close...\n");
        return TRUE;
    }

    return FALSE;
}

void main()
{
    SetConsoleCtrlHandler((PHANDLER_ROUTINE)MyHandler, TRUE);
}
如何不想顯示cmd視窗,在程式的開始出加上下面的語句,既可以達到關閉控制檯視窗的目的,主要是用在利用opencv或者opengl等第三方庫的情況下不想顯示cmd視窗。
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )

相關推薦

控制控制檯視窗關閉

1、要禁止關閉按鈕的話可以直接從系統選單裡移除,#include <Windows.h> #include <stdio.h> void main() { DeleteMenu(GetSystemMenu(GetConsoleWindow(

得到控制檯視窗控制代碼

1.呼叫 GetConsoleTitle() 來儲存當前的控制檯視窗標題。 2.呼叫 SetConsoleTitle() 來將控制檯標題更改為一個唯一的標題。 3.呼叫 Sleep(40),以確保已更新視窗標題。 4.呼叫 FindWindow(NULL, uniquetitle),以

WPF通過附加屬性控制視窗關閉

原文: WPF通過附加屬性控制視窗關閉 場景1 當使用 ShowDialog() 方式顯示視窗時,通過定義附加屬性的方式可實現在 ViewModel 中進行資料繫結(bool?)來控制子視窗的顯示和關閉 public class ExWindow { public static b

視窗關閉時觸發子視窗關閉事件 wpf使用者控制元件的關閉事件 wpf usercontrol 釋放時觸發關閉事件

/// <summary> /// 關閉視窗事件 /// </summary> /// <param name="sender"></param> /// <

獲取控制檯視窗控制代碼(hWnd)

作者:Defanive 部落格:Console.Dec.Cn(Hi.Baidu.Com/Console_App) ——————— 【 謝謝合作 】 ——————— 測試環境:VC++ 6.0 視窗,都有其唯一的控制代碼(hWnd)。得到了視窗控制代碼,能夠做很多事情。控制

控制檯視窗在執行完畢後立即關閉

VS2005中編寫C#的程式時,除錯執行,控制檯視窗會在執行完畢後立即關閉,這樣就無法看到執行的結果。為了解決這個問題,可以使用Console.ReadKey();告訴程式碼在結束前等待按鍵。這樣的話,控制檯視窗在顯示出

如何獲取控制檯視窗控制代碼 (HWND)

HWND GetConsoleHwnd(void) { #define MY_BUFSIZE 1024 // Buffer size for console window titles. HWND hwndFound; // This is what

獲取控制檯視窗控制代碼(HWND)和程式中輸出回車鍵

Win32 API 提供用於獲取與一個控制檯應用程式相關聯的視窗控制代碼沒有直接方法。但是,您可以獲得通過呼叫 FindWindow() 視窗控制代碼。此函式可檢索視窗控制代碼基於類名或視窗名稱。  呼叫以確定當前的控制檯標題 GetConsoleTitle()。然後提

如何禁用控制檯視窗關閉按鈕?

這是一段古老的程式碼,也是我以前經常用到的程式碼。雖然現在和以後基本上都不會再用到它了,但是在特定的場景中,它很好用。 ## 使用場景 有時候,我們需要編寫一個具有一定處理邏輯的控制檯程式,這比編寫 Windows 服務要簡單一些。但是,我們要防止不小心點選到控制檯視窗右上角的關閉按鈕而導致程式非正常退出

selenium3+java 控制瀏覽器視窗操作

訪問的頁面在自定義尺寸下執行,對其樣式進行測試 ,WebDriver 提供了 manage().window().setSize()方法來設定瀏覽器視窗的大小。在 PC 端執行自動化測試指令碼大多的情況下瀏覽器是在全螢幕模式下執行,使用 maximize()方法使開啟的瀏覽器全屏顯示, 其用法與 s

C# WinForm視窗關閉的幾種常用方法

呼叫程式外部的應用程式時,在關閉程式後,發現程序裡面還有在執行。原來是沒有完整的退出;下面有幾種方法退出。 在FormClosing事件中新增即可。   1.this.Close();   只是關閉當前視窗,若不是主窗體的話,是無法退出程式的,另外若有託管執行緒(非主

JFrame視窗關閉時 進行再次確認的實現

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

VS2010下用GDIplus(GDI+)在控制檯視窗顯示多種格式的圖片(一)

文章目錄 GDI和GDI+ GDIplus 的引入和使用方法 引入GDI+庫 使用GDI+ 讀取影象檔案 獲取顯示區繪圖控制代碼hdc 建立GDI+ 繪圖對像 通過GDI+ 繪圖對像的`D

selenium3+java 控制瀏覽器視窗操作

訪問的頁面在自定義尺寸下執行,對其樣式進行測試 ,WebDriver 提供了 manage().window().setSize()方法來設定瀏覽器視窗的大小。在 PC 端執行自動化測試指令碼大多的情況下瀏覽器是在全螢幕模式下執行,使用 maximize()方法使開啟的瀏覽器

C/C++ 控制檯視窗暫停

為什麼我看不到控制檯的輸出結果? 在編寫C++程式中,經常會出現,控制檯視窗一閃就消失了的情況 為什麼會這樣? 原因簡單到有點可笑:因為程式執行結束了 對於控制檯程式,作業系統讓它開始執行前會為它造一個控制檯視窗,在它結束的時候為它銷燬這個這視窗 所以,當程式的最後一條語句執行完後,沒什麼可做了,程式執行

如何解決Visual Studio 2017 執行後控制檯視窗一閃就消失了

      安裝使用Visual Studio 2017 後,用Ctrl+F5執行程式,結果控制檯視窗一閃就沒了,也沒有出現”press any key to continue…” 或者“請按任意鍵繼續”。 出現這種原因,主要是建立工程時選用的是“空工程(Empty Proj

【JS API】指令碼語言-裝置控制介面說明-關閉指定 app

closeApp 原型: closeApp(packageName) 是否支援多裝置: 支援 對應的 REST API: 描述: 通過 App 包名稱關閉 App 引數: packageName:字串,App 包名稱,如: com.android.s

QT控制元件視窗的透明度

QGraphicsOpacityEffect *effect = new QGraphicsOpacityEffect(this); effect->setOpacity(0.9); // 設定透明度 然後給需要透明的子控制元件設定該effect如: bt

MFC如何在有介面的應用程式中開啟控制檯視窗

在有介面的應用程式中開啟控制檯視窗有時候非常有用,尤其是在除錯多執行緒應用程式中, 由於通過斷點的方式除錯程式時會導致執行緒掛起從而導致各種難於預料的結果。這時候就可 以通過開啟控制檯視窗往視窗輸出資訊來檢視執行緒的執行情況,這比通過日誌檔案輸出的方式 更方便和實時。下面介紹

MFC程式中,想要開啟控制檯視窗教你一招

為了MFC程式除錯方便,如果想要開啟控制檯視窗,只需在視窗初始化的函式中,新增兩行程式碼即可。 1)找到視窗初始化函式,我的初始化函式是BOOL CMy133Dlg::OnInitDialog(); 2)在初始化函式返回值之前,新增以下兩行程式碼:     AllocCo