我想在屏幕上的特定位置打开批处理文件的控制台窗口。我已经在Google中搜索过,但是没有找到解决方案。我需要四个小的控制台窗口,每个在屏幕的每个角落。
答案 0 :(得分:2)
@echo off
setlocal
if /i "%~1" == "/4way" (
console4way "%~f0" %*
exit /b
)
echo Running %*
console4way
#pragma compile(Out, console4way.exe)
Global $aPid[4]
; Run ComSpec (usually set as CMD) with arguments for the 1st instance.
$aPid[0] = Run('"' & @ComSpec & '" /k ' & StringReplace($CMDLINERAW, '/4way', '', 1))
For $i1 = 1 To 3
$aPid[$i1] = Run('"' & @ComSpec & '"')
Next
; Give time for all windows to display.
Sleep(500)
; Get list of all console class windows.
$aWinList = WinList('[CLASS:ConsoleWindowClass]')
For $i1 = 1 To UBound($aWinList) -1
; Get current window handle from the list.
$hWindow = $aWinList[$i1][1]
; Get position and sizes of current window.
$aPos = WinGetPos($hWindow)
; Move windows if process id matches.
Switch WinGetProcess($hWindow)
Case $aPid[0]
WinMove($hWindow, '', 0, 0)
Case $aPid[1]
WinMove($hWindow, '', @DesktopWidth - $aPos[2], 0)
Case $aPid[2]
WinMove($hWindow, '', 0, @DesktopHeight - $aPos[3])
Case $aPid[3]
WinMove($hWindow, '', @DesktopWidth - $aPos[2], @DesktopHeight - $aPos[3])
EndSwitch
Next
仅批处理文件似乎无法执行此任务 外部援助。
您可能需要一些可以处理4个窗口的东西 处理并将其移动到位置。 可能需要通过进程ID识别4个窗口 以确保正确的窗口得到处理。
console4way
的代码是AutoIt3。
如果以/4way
作为第一个参数执行该批处理文件,
将执行console4way.exe。 4个控制台进程将
执行,短暂的睡眠将发生,以允许窗户
出现。
WinList
将按类获取控制台窗口。
每个窗口句柄用于获取位置,大小和进程ID。
随着每个进程ID的匹配,当前窗口将移至
指定位置在桌面一角。
未指定窗口的宽度和高度。
WinMove
允许另外两个宽度和高度参数。
$aPos[2]
和$aPos[3]
是
当前控制台窗口。
使用参数/4way
执行批处理文件以
启动批处理文件以执行console4way
,
否则它将在没有console4way
的情况下执行。
您可以在/4way
参数之后添加其他参数
如果要将参数传递给要使用的批处理文件。
将console4way.au3
编译为可执行文件以匹配操作系统的位数
以便执行相同环境的ComSpec。
关于console4way
console4way
是执行console4way.exe
的命令。
您可以将自己的au3脚本命名为console4way.au3
(这是一个包含上面代码的文本文件)。
使用au3脚本文件来编译console4way.exe
并附有说明。
编译后,仅需要批处理文件和
console4way.exe
处于同一路径并执行
要测试的批处理文件。
您可以存储au3脚本并在以后使用
如果您想再次编译或更新代码。
编译console4way.au3
的说明:
使用安装程序:
console4way.au3
并选择
Compile Script (x64)
(用于64位操作系统),否则
Compile Script (x86)
(用于32位操作系统)。console4way.exe
。或带有邮政编码:
install\Aut2Exe
并执行Aut2Exe.exe
。
如果在64位操作系统上,则可以执行Aut2Exe_x64.exe
。
编译至x86或x64可执行文件的工作方式相同。console4way.au3
的路径。console4way.exe
。 console4way.exe
将是一个独立的可执行文件,可以
在未安装AutoIt的操作系统上执行。
其他:
查看有关Compiling Aut2Exe脚本的帮助页面。