用cmd怎么实现隐藏DOS窗口运行程序?

用cmd怎么实现隐藏DOS窗口运行程序?,第1张

@echo off if "%1"=="h" goto begin start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit :begin ::以下为正常批处理命令,不可含有pause set/p等交互命令

如果双击一个批处理,等价于参数为空,而一些应用程序需要参数,比如在cmd窗口输入shutdowm -s -t 0,其中-s -t 0就为参数。shutdown为%0,-s为%1,-t为%2,以此类推。 第一行我们先跳过,看第二行,表示利用mshta创建一个vbs程序,内容为:createobject("wscript.shell").run(……).如果运行的批处理名为a.bat,在C:\下,那%0代表C:\a.bat,%~nx0代表芹孙弯a.bat。h极为参数%1,0表示隐藏运行。由于你双击运行,故第一次批处理%1为空,if不成立,转而运行下一句。然后再次打开自己,凯核并传递参数h,此时if成立,跳转至begin开始运行。 这两行很经典,可以使批处理无窗口运行。

命令提示符是在 *** 作系统中,提示进行命令输入的一种工作提示符。在不同的 *** 作系统环境下,命令提示符各不相同。

在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的DOS *** 作系统。输入一些命令,cmd.exe可以执行,比如输入shutdown -s就会在30秒后关机。总之,它非常有用。打开方法:开始-所有程序-附件 或 开始-寻找-输入:cmd/cmd.exe 回车。它也可以执行BAT文件。

一般说的“命令行”是指linux命令,linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文嫌闷件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell(外壳)命令和Linux命令。

VC程序的三种执行外部程序好虚方法:

WinExec,ShellExecute,CreateProcess

如果你是控制台程序(DOS黑屏命令行),那么据我所知,应该都没办法隐藏窗口。

这三个函数都有隐藏虚袜返窗口的选项,但只针对窗口程序,控制台程序不行,你试试吧,呵呵。

像你这种情况,有几个办法建议:

将代码加入工程,应该是最简单的差饥

将a.exe做成a.dll,功能调用库,也可以

将a.exe的功能通过简单的窗口程序实现,这样无论外部调用还是内部控制,窗口都能隐藏

将a.exe做成系统服务service程序,这个是后台执行程序最合理的方式。

关于哪或在 UNIX/Linux 系统下面,任何人都无法隐藏命令行参数。因为它们的命森销令、以及相关的各种参数都是标准的,任何一个如果想学习 UNIX/Linux 系统的人,都能够找到相关的命令使用文档(例如:显示文件名及其子目录名的命令:ls ,它就有各种参数,只要想学习该命令的使用,那么谁也无法隐藏命令行参数)。

除非该人是一个精通UNIX/Linux *** 作系统内核底层编程的人员,那么他当然可以实现隐藏命令行参数的目的。例如:他可以通过修改 Linux 系统有关 ls 命令使用的这部分内核源代码,达到让任何用户使用 man ls 时,不显示出来 ls 命令到底都有哪些参数可以此缓游使用。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12414595.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存