Cmdow-一个win32窗口管理命令行工具
2021-04-23 20:29
标签:for循环 需求 awr 命令行 屏幕 图片 特殊 evel github 最近有个需求,将同一个程序运行8个实例,并按照规则在两个窗口上分布,本以为用bat就可以实现,结果发现没那么容易,搜了很久找到了这个工具cmdow.exe,发现这个东西真不错。 符合了我们项目的需求:单文件,离线可用,免安装,非常省心。 直接bat里调用,可以实现很多功能,但是我们这次的需求用bat实现还比较难(bat的for循环里的赋值结合运算很难搞),于是就结合C#实现了。 cmdow : 显示所有进程 cmdow /t : 显示所有在任务栏上的进程 cmdow /t /p:显示所有任务栏上的进程并显示其窗口位置和大小 CMDOW /TH | /TV | /CW | /MA | /UW | /AT | /FS | /WM CMDOW window {[/ACT] [/INA] [/ENA] [/DIS] [/VIS] [/HID] [/MIN] [/MAX] [/RES]} CMDOW window {[/REN newcaption] [/TOP] [/NOT] [/MOV left top] [/SIZ width height] [/CLS] [/END]} 针对具体某一个窗口的操作,只介绍一下我用到的: 使用 Handle 或者 Caption 都可以指定具体的窗口,但是建议使用Handle,因为是唯一的(Caption可能存在一样的,例如上图中的“UE4_Program (64-bit, PCD3D_SM5)"就有两个实例) 例如设置上图中UE4_Program (64-bit, PCD3D_SM5)的窗口大小和位置: cmdow 0x080A30 /siz 500 500 cmdow 0x080A30 /mov 0 0 这种方法可以具体设置到某个实例。 或者: cmdow "UE4_Program (64-bit, PCD3D_SM5)" /siz 500 500 cmdow "UE4_Program (64-bit, PCD3D_SM5)" /mov 0 0 这种方法只能模糊查找,在两个UE4的进程中选一个进行设置,注意,因为Caption中含有空格,所以名字要用引号包含起来。 其他命令举例: /hid可以将进程隐藏,任务栏和系统托盘里都看不到(难怪cmdow容易被杀毒软件杀掉,这容易偷偷干坏事) /cls将任务关闭 此外使用cmdow还可以启动进程, 格式如下: 其中 state 可以是这三个参数中的一个: /MAX /MIN /HID,分别是最大化,最小化以及隐藏 file就是要执行的可执行文件,如果名称中包含空格,一样要用双引号包裹。 args就是可执行文件的其他参数(程序自己定义的) 官方的几个使用案例: 关闭所有任务栏上的进程: @echo off 输出当前屏幕的尺寸:(level是0的进程是个特殊进程,能通过他获得当前屏幕分辨率) @echo off 根据官方的案例,我们也可很容易写出这样的功能: @echo off for /f "tokens=1,9" %%a in (‘cmdow /t‘) do( if "%%b"=="RAS_General" ( cmdow %%a /siz 800 800 cmdow %%a /mov 0 0 ) ) Cmdow-一个win32窗口管理命令行工具 标签:for循环 需求 awr 命令行 屏幕 图片 特殊 evel github 原文地址:http://www.cnblogs.com/AnKen/p/7992695.html简易入门教程
第一部分
第二部分
这几个都是分布窗口的命令,针对所有窗口的,具体参见官方文档第三部分
首先,怎么确定是哪个窗口?
通过cmdow /t ,可以看到进程的 Handle(第一列)以及Caption(最后一列)第四部分
第五部分
CMDOW /RUN [state] file [args]
第六部分
:: Hide this console window so its not shown on taskbar
cmdow @ /hid
for /f %%a in (‘cmdow /t‘) do cmdow %%a /cls
:: Now close this console window
cmdow @ /cls
for /f "tokens=2,10-11" %%a in (‘cmdow /p‘) do (
if "%%a"=="0" set "WIDTH=%%b" & set "HEIGHT=%%c"
)
echo Resolution is %WIDTH%x%HEIGHT%
例如,设置所有名称为RAS_General的进程的窗口大小为800*800,并把窗口位置移动到0,0 点:
文章标题:Cmdow-一个win32窗口管理命令行工具
文章链接:http://soscw.com/index.php/essay/78654.html