引言
Windows系统下应用程序很多都是有用户界面的,这可能也算是Windows系统的一个优势,可视化操作。但有时候,恰恰相反我们不希望用户界面呈现出来,可能想着可视化界面反而妨碍你的工作,或者其他原因。那么在Windows下怎么隐藏应用程序的界面呢?在网络上搜索了一番,有几种方法,现在记录下。
方法1. VBScript
据说这是种古老而传统的方法,因为Windows各个版本都支持VBScript,所以该方法具有普适性,当然现在应该没有多少机子上在跑XP或之前的版本了吧。
打开文本编辑器,输入以下代码
Dim WShell
Set WShell = CreateObject("WScript.Shell")
WShell.Run "Notepad.exe", 0
Set WShell = Nothing
保存文件,后缀名为.vbs,如hidenote.vbs。
在Windows 10上可以双击直接运行,第一次运行可能需要确认使用Windows Based Script Host程序。
也可以在cmd窗口,直接输入文件路径,或在路径前使用wscript命令运行
修改vbs文件,将notepad替换成wordpad,可隐藏启动写字板。
打开任务管理器,可见记事本和写字板都以后台进程在运行,任务栏中则看不到相应的程序。
方法2. PowerShell
PowerShell也是Windows内建的命令,可以直接使用。首先编辑文件,输入代码
Start-Process -WindowStyle hidden -FilePath Notepad.exe
将文件保存后缀名为.ps1,如hidenote.ps1。
将该脚本文件在cmd窗口中运行
powershell -executionPolicy bypass -file "path\to\file.ps1"
打开任务管理器可见记事本以后台进程的形式在运行。
同样将脚本文件中的notepad替换为wordpad,执行脚本后,写字板确实也运行了,但并不时后台进程的形式。
方法3.第三方软件工具
据说有一些第三方软件工具可以实现,这里用到了Nircmd,下载地址点击这里。Nircmd是NirSoft一员,由 Nir Sofer编写,据称提供了上百个小工具,真是厉害!!
下载之后,解压缩,在cmd窗口执行即可:
nircmd exec hide Notepad.exe
将notepad替换成wordpad,就会发现不对了,没有运行写字板。这样只能把完整路径加进来。
而且写字板依然不是后台进程的形式😂
总结
三种方法都可以实现目标,各有差异。对于第三方软件程序,要用完整路径了。另,这种隐藏程序界面的方法并不对所有软件有效,对于常用的Matlab似乎无效。这里试了2018b的版本,方法均不能奏效,主窗口都会显示出来。