C\C++控制檯程式隱藏方法總結
學習計算機,往往先從Windows環境下學習程式設計,學習程式設計,往往從C學起,學習C,往往又從控制檯程式學習,何為控制檯,就是那個黑框白字的介面。對於這樣一個最初認為奇陋無比而現在認為無所不能的程式設計平臺,有時候需要將介面隱藏起來。那麼如何做呢?
方法1:
在標頭檔案下加上一句預處理命令:
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) // 設定入口地址
完整程式為:
- #include<windows.h>
- #pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) // 設定入口地址
- int main()
- {
- MessageBox(NULL,"Hello","Notice",NULL);
- return 0;
- }
在編譯器下執行時仍會出現黑框,但直接執行編譯好的exe程式就不會顯示黑框了,截圖分別如下:
方法2:
使用API函式隱藏自身視窗,但會有黑框快速閃過的痕跡。程式碼如下:
- #include<windows.h>
- int main()
- {
- HWND hwnd;
- hwnd=FindWindow("ConsoleWindowClass",NULL); //處理頂級視窗的類名和視窗名稱匹配指定的字串,不搜尋子視窗。
- if(hwnd)
- {
- ShowWindow(hwnd,SW_HIDE); //設定指定視窗的顯示狀態
- }
- MessageBox(NULL,"Hello","Notice",MB_OK);
- system("pause");
- return 0;
- }
執行效果:在編譯器下執行和直接執行exe檔案,都會有黑屏閃爍一下。
方法3:
一個人自身的力量畢竟有限,所有有時候需要藉助外力,自己辦不到的可以讓好朋友幫忙,程式也同樣如此,內部實現不了的功能可以讓外部程式幫自己實現。
再用C\C++寫一個載入程式,讓載入程式隱藏呼叫該程式。假設要隱藏執行記事本程式,程式碼如下:
- #include<windows.h>
- int main()
- {
- WinExec("notepad.exe",SW_HIDE); //隱藏執行其他程式
- return 0;
- }
執行效果:完全隱藏方法4:
既然思路以及不再侷限到程式自身,那麼其實就有了很多很多中外部隱藏呼叫的方法,只要你的知識面足夠寬那麼解決方法就會足夠多。比如,C#、Java、Python、Ruby、VB、Delphi等等都可以。最後再用VBScript寫一個吧。程式碼如下:
- set objShell=wscript.createObject("wscript.shell")
- iReturn=objShell.Run("你的程式.exe", 0, FALSE)
-
- 'Run()
- '第一個引數是你要執行的程式的路徑,
- '第二個引數是視窗的形式,0後臺執行;1正常執行;2最小化;3最大化;預設的話表示正常執行
- '第三個引數是表示這個指令碼是等待還是繼續執行,如果設為了True,指令碼就會等待呼叫的程式退出後再向後執行。
執行效果:完全隱藏
相關文章
- 隱藏控制檯應用程式的視窗
- c++控制檯程式實現定時器C++定時器
- C++控制檯程式中使用定時器C++定時器
- C++ 控制檯讀寫excelC++Excel
- 總結隱藏Ribbon選單的方法
- c++繼承,隱藏(重定義)C++繼承
- C++中的覆蓋和隱藏C++
- 關閉(隱藏)控制檯上顯示的檔案路徑
- c++控制檯寫一個計時器C++
- C++程式碼最佳化方法總結(一) (轉)C++
- C++程式碼最佳化方法總結(四) (轉)C++
- C++程式碼最佳化方法總結(三) (轉)C++
- C++程式碼最佳化方法總結(二) (轉)C++
- c++中的隱藏及過載、重寫與隱藏的區別C++
- C++之過載覆蓋和隱藏C++
- c++/tcl程式設計總結C++程式設計
- c++程式碼優化總結C++優化
- 關於C++程式碼最佳化的方法總結(轉)C++
- C++基於控制檯的迷宮實現(上)C++
- dubbo總結(四)——安裝dubbo管理控制檯
- 【C++】 C++知識點總結C++
- C++ WinExec system 隱藏黑框;清空檔案C++
- C++:字串總結C++字串
- C/C++指標總結C++指標
- C#讓控制檯程式不顯示閃退視窗的方法C#
- C++實現控制檯學生學籍管理系統C++
- C++學習筆記(七) - Qt 在控制檯輸出C++筆記QT
- C++“隱藏實現,開放介面”的實現方案C++
- 動態控制C4C UI元素的顯示和隱藏UI
- CSS隱藏元素方法CSS
- C++程式設計_簡易計時器(Timer)的控制檯實現C++程式設計
- C++除錯總結C++除錯
- c++學習總結C++
- C++ const 總結C++
- 【C++泛讀總結】C++
- C++ STL容器總結C++
- C++基礎總結C++
- 高質量C/C++程式設計指南總結(八)—— C++高階特性C++程式設計