如何遮蔽控制台應用程式的視窗?

2021-05-27 04:50:36 字數 673 閱讀 8131

眾所周知,控制台應用程式一般都會顯示乙個控制台視窗(虛擬dos視窗),但很多時候控制台程式的執行邏輯根本不需要與使用者進行互動,所以顯示這個難看的視窗純屬多餘,那麼如何將它遮蔽掉呢?下面我向大家介紹一種方法。

作業系統裝載應用程式後,做完初始化工作就轉到程式的入口點執行。程式的預設入口點實際上是由連線程式設定的,不同的聯結器選擇的入口函式也不盡相同。在vc下,聯結器對控制台程式設定的入口函式是 maincrtstartup,maincrtstartup 再呼叫你自己編寫的 main 函式;對圖形使用者介面(gui)程式設定的入口函式是 winmaincrtstartup,winmaincrtstartup 呼叫你自己寫的 winmain 函式。

具體設定哪個入口點是由聯結器的「/subsystem:」選項引數確定的,它告訴作業系統如何執行編譯生成的.exe檔案。可以指定四種方式:「console|windows|native|posix」如果這個選項引數的值為「windows」,則表示該應用程式執行時不需要控制台,有關聯結器引數選項的詳細說明請參考 msdn 庫。

#pragma comment( linker, "/subsystem:\"windows\" /entry:\"maincrtstartup\"" )  // 設定聯結器選項

int main(void)

在 ide 環境中新建乙個空的控制台程式,將上述**新增到工程中,編譯執行。

遮蔽控制台應用程式視窗

1 控制台應用程式一 有窗 main.cpp pragma comment linker,subsystem windows entry maincrtstartup int main int argc,char argv 2 控制台應用程式二 無窗 main.cpp pragma comment ...

ArcEngine控制台應用程式

wbaolong原文 arcengine控制台應用程式 控制台應用程式相比其他應用程式,更加簡單,簡化了許多冗餘,可以讓我們更加關注於本質的東西。現在讓我們看一看arcgis engine的控制台應用程式吧!一 首先是許可繫結 1 執行時環境的繫結 esri.arcgis.runtimemanage...

ArcEngine控制台應用程式

wbaolong原文 arcengine控制台應用程式 控制台應用程式相比其他應用程式,更加簡單,簡化了許多冗餘,可以讓我們更加關注於本質的東西。現在讓我們看一看arcgis engine的控制台應用程式吧!一 首先是許可繫結 1 執行時環境的繫結 esri.arcgis.runtimemanage...