windows 如何隐藏由系统注册表中保存的命令启动的CMD控制台?

qmelpv7a  于 2023-01-02  发布在  Windows
关注(0)|答案(1)|浏览(157)

我的问题在最后,在信息的底部。
我开始在Windows系统上使用Uwe Sieber的RemoveDrive工具
这个工具可以让你强制弹出,例如,你的闪存驱动器等,当通常的方式与windows失败,它看起来像这样:

弹出驱动器代码(强制):

cmd.exe /q /c FOR /F "usebackq" %%i IN ('%V') DO ECHO Preparation %%~di to forced eject...wait... & TITLE Force Eject Disk %%~di & RemoveDrive.exe %%~di -e && (TITLE Drive eject completed successfully) & PAUSE

弹出驱动器代码(安全):

cmd.exe /q /c FOR /F "usebackq" %%i IN ('%V') DO ECHO Preparation %%~di to safe eject...wait... & TITLE Safe Eject Disk %%~di & RemoveDrive.exe %%~di && (TITLE Drive eject completed successfully) & PAUSE

这是将这些值、图标和命令添加到注册表的整个条目:

正如您所看到的,cmd.exe触发命令和要执行的Eject drive(强制)的相应命令保存在. reg文件中,但对我来说,更改它不是问题。
在注册表本身中,它看起来如下所示:

启动"Eject drive(强制)"后,将显示一个CMD控制台窗口,其中显示RemoveDrive.exe操作的进度,并在最后等待按下按钮以关闭CMD控制台窗口。
说到问题的核心,我希望弹出驱动(强制)过程的实现是自动的和不可见的。
我当时是这样处理的,我从命令寄存器值的最后删除了文本o & PAUSE。
因此,当弹出驱动器(强制)完成时,CMD控制台现在会自动出现和消失。
然而,我仍然在寻找一种使其不可见的方法,也就是说,使控制台/CMD脚本在没有可见窗口的情况下以不可见的方式运行。
我已经尝试过几种方法,但我最终无法应付它,我仍然在挣扎。
我希望阅读我的查询的人知道要在命令寄存器值中添加什么和更改什么,以生成以下文本:

cmd.exe /q /c FOR /F "usebackq" %%i IN ('%V') DO ECHO Preparation %%~di to safe eject...wait... & TITLE Safe Eject Disk %%~di & RemoveDrive.exe %%~di && (TITLE Drive eject completed successfully)

更改和编辑命令时,CMD控制台不可见,但脚本本身在后台隐藏执行。
下面您可以看到使用弹出驱动器(强制)后CMD控制台是如何显示的。
我希望它在行动中是无形的:
有人知道吗?
不幸的是,它必须保存在注册表中才能在使用鼠标右键并单击适当的选项后立即工作,我在上面的图片中展示了这一点。
换句话说,我有一个类似HidRun.exe的文件
此处链接:
https://www.uwe-sieber.de/files/hidrun.zip
请告诉我如何在注册表中的整个路径应该看起来像RemoveDrive.exe将由HidRun.exe启动隐藏?
假设HidRun.exe和RemoveDrive.exe都位于"C:\Windows\System32"中
使用弹出驱动器(强制)和[-l]循环直到成功的整个路径应该是什么样的?
没有HidRun.exe的代码:
"C:\Windows\系统32\删除驱动器. exe" %1-e

bfhwhh0e

bfhwhh0e1#

我找到了错误的原因,并设法使它工作。
不使用:
cmd.exe/q/c FOR/F "usebackq" %% i输入('% V')执行回显准备% %~di以强制弹出...等待...& TITLE强制弹出磁盘% %~di & RemoveDrive.exe % %~di-e &&(TITLE驱动器弹出成功完成)&暂停
我现在使用:
"C:\Windows\隐藏运行. exe""C:\Windows\删除驱动器. exe" %1-F-L
HidRun.exe不在System32中很重要,因为它在System32中不能正常工作。
所以我把HidRun.exe和RemoveDrive.exe移到了C:\Windows\HERE
由于这一点,现在HidRun.exe首先正确运行,这反过来又使运行的RemoveDrive.exe在后台运行为不可见。
也许这个解决方案在将来会对某人有用,所以我把它留在这里。如果管理员或版主不这么认为,请关闭/删除我关于这个主题的整个线程,如果它太混乱了。
或者,如果可能,将我的邮件固定在顶部,将其标记为已选中和就绪解决方案。
问候。

相关问题