隱藏控制檯應用程式的視窗
原址:http://www.cnblogs.com/kex1n/archive/2011/04/10/2011254.html
眾所周知,控制檯應用程式一般都會顯示一個控制檯視窗(虛擬DOS視窗),但很多時候控制檯程式的執行邏輯根本不需要與使用者進行互動,所以顯示這個難看的視窗純屬多餘,那麼如何將它遮蔽掉呢?下面我向大家介紹一種方法。
作業系統裝載應用程式後,做完初始化工作就轉到程式的入口點執行。程式的預設入口點實際上是由連線程式設定的,不同的聯結器選擇的入口函式也不盡相 同。在VC下,聯結器對控制檯程式設定的入口函式是 mainCRTStartup,mainCRTStartup 再呼叫你自己編寫的 main 函式;對圖形使用者介面(GUI)程式設定的入口函式是 WinMainCRTStartup,WinMainCRTStartup 呼叫你自己寫的 WinMain 函式。具體設定哪個入口點是由聯結器的“/subsystem:”選項引數確定的,它告訴作業系統如何執行編譯生成的.EXE檔案。可以指定四種方 式:“CONSOLE|WINDOWS|NATIVE|POSIX”如果這個選項引數的值為“WINDOWS”,則表示該應用程式執行時不需要控制檯,有 關聯結器引數選項的詳細說明請參考 MSDN 庫。
下面我們將通過預編譯指令來對編譯器和聯結器進行設定,從而達到我們的目的:例子程式碼執行後播放Windows系統啟動聲音三次,然後退出,執行後不會顯示控制檯視窗。
#include <windows.h>
#include <mmsystem.h>
#pragma comment(lib,"winmm.lib") // 告訴聯結器與這個庫連線,因為我們要播放多媒體聲音
#pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup") // 設定聯結器選項
int main(void)
{
PlaySound("SystemStart",NULL, SND_ALIAS|SND_SYNC);
Sleep(50);
PlaySound("SystemStart",NULL, SND_ALIAS|SND_SYNC);
Sleep(50);
PlaySound("SystemStart",NULL, SND_ALIAS|SND_SYNC);
Sleep(50);
return 0;
}
在 IDE 環境中新建一個空的控制檯程式,將上述程式碼新增到工程中,編譯執行
相關文章
- 【C#之控制檯與窗體應用程式】C#
- C\C++控制檯程式隱藏方法總結C++
- C# 顯示、隱藏視窗對應的工作列C#
- 如何禁用控制檯視窗的關閉按鈕?
- 關閉(隱藏)控制檯上顯示的檔案路徑
- C#讓控制檯程式不顯示閃退視窗的方法C#
- Docker中部署.NET CORE應用(控制檯應用程式篇)Docker
- 【.NET】控制檯應用程式的各種互動玩法
- 用js控制div的顯示與隱藏JS
- Windows Console 控制檯、視窗介面切換Windows
- 控制檯程式使用ABP框架應用層服務框架
- 控制檯應用程式獲取計算機名計算機
- Windows 任務計劃隱藏顯示黑視窗Windows
- 如何在Windows下啟動Koa並隱藏視窗Windows
- 隱藏域在Ajax中的應用
- 浮動應用程式視窗怎麼用?
- Qt 子視窗 隱藏標題欄的圖示,隱藏在工作列上的圖示QT
- C# 控制檯應用程式中輸出彩色字型C#
- 榮耀手機怎麼隱藏應用?華為手機EMUI顯示、隱藏應用方法UI
- Mac小技巧 快速檢視指定應用程式的所有視窗Mac
- 如何編寫簡單的應用window視窗程式
- 用函式控制彈出視窗函式
- angular學習筆記(八)-控制檢視顯示隱藏Angular筆記
- 一個庫幫你輕鬆的建立漂亮的.NET控制檯應用程式
- 隱藏uitabbar的程式碼UItabBar
- jQuery控制div顯示和隱藏程式碼例項jQuery
- 如何控制多個同級檢視的顯示隱藏(Vue.js)Vue.js
- 修改 MyEclipse 編輯區、控制檯背景顏色以及隱藏煩人的breadcrumb(麵包屑)Eclipse
- Azure Cosmos DB (五) .Net Core 控制檯應用
- 開源專案分享:ChatGPT 控制檯聊天應用ChatGPT
- 控制檯實時檢視 sqlSQL
- Java Swing應用程式GUI視窗居中顯示JavaGUI
- 用Node寫的一個控制檯看股票的小程式
- 使用此開源視窗環境一次執行多個控制檯
- Android應用開發中如何使用隱藏的APIAndroidAPI
- 檢視Oracle隱藏引數的SQLOracleSQL
- 檢視oracle隱藏引數Oracle
- Win10 隱藏左側邊側欄(導航視窗)中的資料夾Win10