我正在使用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时,Handle值都会改变。
如何将这些值分配给脚本中的变量?
答案 0 :(得分:0)
看到想要设置变量(不需要)时,您永远都不知道返回的行数,因此我们可以创建一个带有值的变量数组:
@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