學習計算機,每每先從Windows環境下學習編程,學習編程,每每從C學起,學習C,每每又從控制檯程序學習,何爲控制檯,就是那個黑框白字的界面。對於這樣一個最初認爲奇陋無比而如今認爲無所不能的編程平臺,有時候須要將界面隱藏起來。那麼如何作呢?html
在頭文件下加上一句預處理命令:web
#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;
-
}
使用API函數隱藏自身窗口,但會有黑框快速閃過的痕跡。代碼以下:shell
-
#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;
-
}
一我的自身的力量畢竟有限,全部有時候須要藉助外力,本身辦不到的可讓好朋友幫忙,程序也一樣如此,內部實現不了的功能可讓外部程序幫本身實現。編程
再用C\C++寫一個引導程序,讓引導程序隱藏調用該程序。假設要隱藏運行記事本程序,代碼以下:windows
-
#include<windows.h>
-
int main()
-
{
-
WinExec(
"notepad.exe",SW_HIDE);
//隱藏執行其餘程序
-
return
0;
-
}
運行效果:徹底隱藏
-
set objShell=wscript.createObject(
"wscript.shell")
-
iReturn=objShell.Run(
"你的程序.exe",
0,
FALSE)
-
-
'Run()
-
'第一個參數是你要執行的程序的路徑,
-
'第二個參數是窗口的形式,0後臺運行;1正常運行;2最小化;3最大化;缺省的話表示正常運行
-
'第三個參數是表示這個腳本是等待仍是繼續執行,若是設爲了True,腳本就會等待調用的程序退出後再向後執行。
運行效果:徹底隱藏