日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

學習計算機,往往先從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,腳本就會等待調用的程序退出后再向后執行。

運行效果:完全隱藏

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。