日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

控制台程序隐藏方法总结(四种)

發(fā)布時(shí)間:2023/12/19 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 控制台程序隐藏方法总结(四种) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

學(xué)習(xí)計(jì)算機(jī),往往先從Windows環(huán)境下學(xué)習(xí)編程,學(xué)習(xí)編程,往往從C學(xué)起,學(xué)習(xí)C,往往又從控制臺程序?qū)W習(xí),何為控制臺,就是那個(gè)黑框白字的界面。對于這樣一個(gè)最初認(rèn)為奇陋無比而現(xiàn)在認(rèn)為無所不能的編程平臺,有時(shí)候需要將界面隱藏起來。那么如何做呢?

方法1:
在頭文件下加上一句預(yù)處理命令:

#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) // 設(shè)置入口地址

完整程序?yàn)?#xff1a;

#include<windows.h> #pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) // 設(shè)置入口地址 int main() {MessageBox(NULL,"Hello","Notice",NULL);return 0; }

在編譯器下運(yùn)行時(shí)仍會出現(xiàn)黑框,但直接運(yùn)行編譯好的exe程序就不會顯示黑框了

方法2:
使用API函數(shù)隱藏自身窗口,但會有黑框快速閃過的痕跡。代碼如下:

#include<windows.h> int main() {HWND hwnd;hwnd=FindWindow("ConsoleWindowClass",NULL); //處理頂級窗口的類名和窗口名稱匹配指定的字符串,不搜索子窗口。if(hwnd){ShowWindow(hwnd,SW_HIDE); //設(shè)置指定窗口的顯示狀態(tài)}MessageBox(NULL,"Hello","Notice",MB_OK);system("pause");return 0; }

運(yùn)行效果:在編譯器下運(yùn)行和直接運(yùn)行exe文件,都會有黑屏閃爍一下。

方法3:
一個(gè)人自身的力量畢竟有限,所有有時(shí)候需要借助外力,自己辦不到的可以讓好朋友幫忙,程序也同樣如此,內(nèi)部實(shí)現(xiàn)不了的功能可以讓外部程序幫自己實(shí)現(xiàn)。

再用C\C++寫一個(gè)引導(dǎo)程序,讓引導(dǎo)程序隱藏調(diào)用該程序。假設(shè)要隱藏運(yùn)行記事本程序,代碼如下:

#include<windows.h> int main() {WinExec("notepad.exe",SW_HIDE); //隱藏執(zhí)行其他程序return 0; }

運(yùn)行效果:完全隱藏

方法4:
既然思路以及不再局限到程序自身,那么其實(shí)就有了很多很多中外部隱藏調(diào)用的方法,只要你的知識面足夠?qū)捘敲唇鉀Q方法就會足夠多。比如,C#、Java、Python、Ruby、VB、Delphi等等都可以。最后再用VBScript寫一個(gè)吧。代碼如下:

set objShell=wscript.createObject("wscript.shell") iReturn=objShell.Run("你的程序.exe", 0, FALSE) 'Run() '第一個(gè)參數(shù)是你要執(zhí)行的程序的路徑,亦可傳參 '第二個(gè)參數(shù)是窗口的形式,0后臺運(yùn)行;1正常運(yùn)行;2最小化;3最大化;缺省的話表示正常運(yùn)行 '第三個(gè)參數(shù)是表示這個(gè)腳本是等待還是繼續(xù)執(zhí)行,如果設(shè)為了True,腳本就會等待調(diào)用的程序退出后再向后執(zhí)行。

運(yùn)行效果:完全隱藏

總結(jié)

以上是生活随笔為你收集整理的控制台程序隐藏方法总结(四种)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。