我正在使用VLC的克隆功能在使用相同控件的扩展显示器上显示相同的视频。这些窗户是无边界的,因此我无法使用鼠标将它们移动。根据默认值,VLC将它们打开在彼此顶部的主显示器上。
我想编写一个将这些窗口移至不同坐标的脚本。
我已经尝试使用cmdow.exe移动打开的窗口。但是,我需要单独解决它们。唯一的区别是他们的手柄。我的输出看起来像这样:
C:cmdow.exe "VLC (Direct3D9 output)"
Handle Lev Pid -Window status- Image Caption
0x1E084A 1 17740 Res Ina Ena Vis vlc VLC (Direct3D9 output)
0x170762 1 17740 Res Ina Ena Vis vlc VLC (Direct3D9 output)
当然,每次重新打开VLC时,手柄值都会更改。
如何将这些值分配给脚本中的变量?
查看您要设置变量(不需要(您永远不会知道返回的行量,因此我们可以创建具有值的变量数组:
@echo off
setlocal enabledelayedexpansion
set cnt=0
for /f "skip=1" %%i in ('cmdow.exe "VLC (Direct3D9 output)"') do (
set /a cnt+=1
set handle!cnt!=%%i
)
for /l %%a in (1,1,%cnt%) do echo !handle%%a!
for /l
循环只能允许您使用每个变量集,无论是1或1000