Board logo

标题: [系统相关] [已解决]批处理如何将应用程序窗口前置、最小化、最大化、还原 [打印本页]

作者: q120072949    时间: 2011-6-3 06:28     标题: [已解决]批处理如何将应用程序窗口前置、最小化、最大化、还原

本帖最后由 q120072949 于 2011-6-3 21:51 编辑

http://www.bathome.net/viewthread.php?tid=12451&extra=
首先感谢fastslz和caruko的代码:获取任务管理器里的应用程序列表:
我想实现的是BAT对这些获取到的窗口前置、最小化、最大化、还原
  1. @echo off
  2. >temp.vbs echo Set WA = CreateObject^("Word.Application"^)
  3. >>temp.vbs echo Set WAT = WA.Tasks
  4. >>temp.vbs echo For Each A in WAT
  5. >>temp.vbs echo     If A.Visible Then
  6. >>temp.vbs echo         Wscript.Echo A.Name
  7. >>temp.vbs echo     End If
  8. >>temp.vbs echo Next
  9. >>temp.vbs echo WA.Quit
  10. setlocal enabledelayedexpansion
  11. for /f "delims=" %%i in ('cscript.exe //nologo temp.vbs') do (
  12.     set ver=%%i
  13.     echo !ver!
  14. )
  15. del temp.vbs
  16. pause
复制代码
----------------------------------
谢谢fastslz正确代码(必须装OFFICE):
  1. Set WA= CreateObject("Word.Application")
  2. Set WAT = WA.Tasks
  3. If WAT.Exists("窗体名称") Then
  4.    WAT("窗体名称").Activate         '激活窗体
  5.    WAT("窗体名称").WindowState = 0  '0平常模式、1最小化模式、2最大化模式
  6. End If
  7. WA.Quit
复制代码
---------------
不过我这里测试的效果是'0平常模式、1最大化模式、2最小化模式
作者: tmplinshi    时间: 2011-6-3 08:31

用命令行工具 nircmd.exe 或 cmdow.exe。
作者: Demon    时间: 2011-6-3 09:10

明明就是VBS,还什么批处理。
作者: fastslz    时间: 2011-6-3 09:26

  1. Set WA= CreateObject("Word.Application")
  2. Set WAT = WA.Tasks
  3. If WAT.Exists("窗体名称") Then
  4.    WAT("窗体名称").Activate         '激活窗体
  5.    WAT("窗体名称").WindowState = 0  '0平常模式、1最小化模式、2最大化模式
  6. End If
  7. WA.Quit
复制代码

作者: cjiabing    时间: 2011-6-3 13:19

窗口控制这一类的似乎还是VBS好,不懂1~·
作者: q120072949    时间: 2011-6-3 21:48

fastslz
谢谢啦!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2