找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4969|回复: 8

求助批处理隐藏自身窗口的代码

  [复制链接]
发表于 2012-9-7 08:31:27 | 显示全部楼层 |阅读模式
求助批处理隐藏自身窗口的代码
新人乍到,请求各位帮助。
在网上陶了好多,都不行,其中大多数是这样的

if "%1" neq "1" (
>"%temp%\tmp.vbs" echo set WshShell = WScript.CreateObject^(^"WScript.Shell^"^)
>>"%temp%\tmp.vbs" echo WshShell.Run chr^(34^) ^& %0 ^& chr^(34^) ^& ^" 1^",0
start /d "%temp%" tmp.vbs
exit

)

在注册表中设置自启动,结果到达桌面上还是出现黑框,请邦忙!
 楼主| 发表于 2012-9-7 17:19:46 | 显示全部楼层
是不是问题太简单太幼稚了,高手都不屑不看,更懒得理会?
对于我新手来说,是高难的,恳请高手帮帮帮帮忙!!!!!!!!!!!

[ 本帖最后由 2012豪杰 于 2012-9-7 17:37 编辑 ]
回复

使用道具 举报

发表于 2012-9-7 22:53:53 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2025-10-28 22:01:01 | 显示全部楼层
用vbs可以隐藏启动的黑框,但是在任务管理器中会有一个cmd的进程显示的
回复

使用道具 举报

发表于 2025-10-28 23:58:32 | 显示全部楼层
用MSHTA 吧!"mshta vbscript:CreateObject(\"WScript.Shell\").Run(\"cmd /c call %temp%\temp.bat\",0)(window.close)"
回复

使用道具 举报

发表于 2026-3-27 11:10:00 | 显示全部楼层
jiavip 发表于 2025-10-28 23:58
用MSHTA 吧!"mshta vbscript:CreateObject(\"WScript.Shell\").Run(\"cmd /c call %temp%\temp.bat\",0)(w ...

学习了
回复

使用道具 举报

发表于 2026-3-27 11:21:43 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2026-3-27 11:45:19 来自手机 | 显示全部楼层
批处理自身并没有办法隐藏自身,只能通过外置vbs或程序实现,如果内置,会有个黑框一闪而过,程序本坛有hiderun。
回复

使用道具 举报

发表于 2026-3-27 21:01:44 | 显示全部楼层
本帖最后由 redyear2026 于 2026-3-28 13:41 编辑

   有一个方法可以无闪屏(无黑框)隐藏运行批处脚本代码,且其用双引号包裹的命令行参数可内含空格和 &^!% 等特殊字符
   在 xp, 7-11 各版 win 系统通行,能正常运行 vbs/jscript 脚本的 winPE 亦可
   此法采用 bat+jscript 混编文件结构,存为 test.js 脚本文件运行,文件名可自定义,但扩展名须为 .js
   若在 cmd 窗口命令行运行可带命令行参数,如 test.js 123 "abc !&^% xyz" 456wscript test.js 123 "abc !&^% xyz" 456 这两个句式皆可
   也可在资源管理器中双击直接运行,或用所选文件集作为命令行参数拖入运行亦可
   见如下示例代码,其中作为示例的批处代码(将原始命令行参数全部复制到剪贴板)在第一至第五行之间(即第一行和 exit/b 这一行及后的代码不要动就是了),可以随需添加多行批处代码,但若要确保其隐藏运行效果,须禁用屏幕输出和等待输入等命令如 echo ... 和 set /p ...

  1. 2>1/* ::
  2. @echo off
  3. echo,%*|clip
  4. del /q "%~dp0#$.bat" 2>nul
  5. exit/b
  6. */
  7. v=WSH.arguments, WSH.createObject('scripting.filesystemobject').copyFile(WSH.scriptfullname, '#$.bat');
  8. for (vAll='',i=0,l=v.length; i<l; i++) vAll+='"'+v(i)+'" ';
  9. WSH.createObject('shell.application').shellExecute('#$.bat', vAll, '', '', 0), WSH.quit();
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1|闽公网安备35020302032614号 )

GMT+8, 2026-4-17 12:03

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表