學習計算機,每每先從Windows環境下學習編程,學習編程,每每從C學起,學習C,每每又從控制檯程序學習,何爲控制檯,就是那個黑框白字的界面。對於這樣一個最初認爲奇陋無比而如今認爲無所不能的編程平臺,有時候須要將界面隱藏起來。那麼如何作呢?shell
方法1:
在頭文件下加上一句預處理命令:編程
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) // 設置入口地址
1
完整程序爲:windows
#include<windows.h>
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) // 設置入口地址
int main()
{
MessageBox(NULL,"Hello","Notice",NULL);
return 0;
}
1
2
3
4
5
6
7
8
在編譯器下運行時仍會出現黑框,但直接運行編譯好的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;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
運行效果:在編譯器下運行和直接運行exe文件,都會有黑屏閃爍一下。.net
方法3:
一我的自身的力量畢竟有限,全部有時候須要藉助外力,本身辦不到的可讓好朋友幫忙,程序也一樣如此,內部實現不了的功能可讓外部程序幫本身實現。blog
再用C\C++寫一個引導程序,讓引導程序隱藏調用該程序。假設要隱藏運行記事本程序,代碼以下:ip
#include<windows.h>
int main()
{
WinExec("notepad.exe",SW_HIDE); //隱藏執行其餘程序
return 0;
}
1
2
3
4
5
6
7
運行效果:徹底隱藏字符串
方法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,腳本就會等待調用的程序退出後再向後執行。 1 2 3 4 5 6 7 運行效果:徹底隱藏 --------------------- 做者:believe_s 來源:CSDN 原文:https://blog.csdn.net/believe_s/article/details/82389795 版權聲明:本文爲博主原創文章,轉載請附上博文連接!