C 隱藏控制台視窗

2021-08-21 11:59:39 字數 672 閱讀 6029

最近遇到了c++控制台視窗需要隱藏的問題,記錄下結局辦法,供以後參考。

#pragma comment( linker, "/subsystem:\"windows\" /entry:\"maincrtstartup\"" ) 

在程式中加上如上語句,可以隱藏控制台視窗。

用vc編寫的程式,執行的時候需要c/c++執行庫的支援。

當我們執行乙個程式時,聯結器會首先尋找應用程式的啟動函式。

以下內容為引用,因小a水平有限,不懂編譯器連線開關,未能證實。但結果有效,內容應該是合理的。

引用:在預設情況下/subsystem 和/entry開關是匹配的,也就是 

console對應maincrtstartup或者wmaincrtstartup 

windows對應winmain或者wwinmain 

但是我們也可以通過手動改動的方式使他們不匹配 ,例如我們可以這樣改動 

#pragma comment( linker, "/subsystem:\ "windows\ "  /entry:\ "maincrtstartup\ " " ) // 設定入口位址 

在預設情況下鏈結器看到/subsystem下是windows選項的時候,它會自動尋找winmain或者wwinmain 

但我們強制指定入口位址,這樣執行程式的時候預設的console視窗就會隱藏

c 隱藏控制台視窗

region 隱藏視窗 dllimport user32.dll entrypoint showwindow setlasterror true private static extern bool showwindow intptr hwnd,uint ncmdshow dllimport use...

隱藏控制台(console)視窗

pragma comment linker,subsystem windows entry maincrtstartup 設定入口位址note subsytem 告訴作業系統如何執行編譯生成的.exe檔案,有console windows native posix著四種選擇,如果這個選項引數的值為 ...

在控制台程式中隱藏控制台視窗

因為此種方法是通過設定編譯器的鏈結開關來實現,所以讓我們來看一下編譯 器的鏈結開關選項 也就是linker選項 首先我們來看一下linker的 subsystem 選項 這個鏈結選項告訴作業系統如何執行可執行檔案 console win32 字元模式應用程式,此種型別的應用程式在執行的時候會產生乙個...