找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24566|回复: 3

[其他] bat 脚本如何把最小化窗口最大化?

[复制链接]
发表于 2024-3-9 09:11:33 | 显示全部楼层 |阅读模式
新手小白

Windows 里面使用 bat 判断某个程序是否最大化

如果最大化的话,模拟鼠标点击指定位置按钮

如果最小化的话,将该程序最大化,然后模拟鼠标点击指定按钮
 楼主| 发表于 2024-3-9 09:13:07 | 显示全部楼层
谢谢
start/MAX "" "D:....:
--
MAX是窗口启动的时候最大化,是新运行一个窗口,不是将现有已开启的窗口最大化
发表于 2024-3-9 10:22:08 | 显示全部楼层
可以使用第三方工具 cmdow、cimt (http://bcn.bathome.net/s/tool/index.html)
  1. rem 获取窗口标题(不确定窗口标题,或者是变化的)
  2. for /f "tokens=12*" %%a in ('cmdow /f /t /p ^|find "这里填写窗口标题关键词"') do (
  3.         set window=%%b
  4. )

  5. rem 显示并置顶
  6. cmdow "%window%" /res /top
  7. rem 定位
  8. cimt /mm 100 100
  9. rem 左键
  10. cimt /mc 0
  11. rem 取消置顶并最小化
  12. cmdow "%window%" /not /min

  13. rem 以上命令之间需要适当延时,操作某些软件可能需要管理员权限
复制代码
发表于 2024-3-9 14:17:30 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-3-9 14:26 编辑

回复 2# cch

给一个简单的批处理脚本,实际是包装了jscript代码(存为test.bat运行),示范将一个已存在的程序窗口恢复至最大化
代码中假定程序窗口标题来自一个空开的记事本(notepad.exe)
备注》1。有些系统程序如任务管理器,须在管理员权限的cmd窗口中运行本脚本才有效
2。有些安全性能被严控的商业软件可能会封堵或接管键盘输入,从而导致本脚本采用的方法失效

  1. @set @v=1 /*
  2. @echo off
  3. ::设置目标窗口的标题
  4. set "tt=无标题 - 记事本"
  5. cscript /e:jscript "%~f0" "%tt%" &exit/b
  6. */
  7. v=WSH.arguments; ws = WSH.createobject('wscript.shell');
  8. ws.appactivate(v(0)); ws.sendKeys("% x"); WSH.quit();
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 04:54 , Processed in 0.018285 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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