Можно ли его переместить по названию окна, а также по имени exe?
Дополнительная информация о перемещении на другом языке может быть полезна.
Обновление: некоторые примеры Perl можно найти в Win32::GuiTest, но, похоже, нет функций изменения размера или перемещения.
Здесь можно сделать это в Ruby, используя win32-api:
# example.rb
require 'win32/api'
include Win32
FindWindow = API.new('FindWindow', 'PP', 'L', 'user32')
hWnd = FindWindow.call(nil, "firefox")
if (hWnd == 0)
puts "firefox not found"
exit 1
end
MoveWindow = API.new('MoveWindow', 'LIIIII', 'I', 'user32')
ret = MoveWindow.call(hWnd, 0, 0, 1024, 768, true)
if (ret == 0)
puts "MoveWindow failed"
exit 1
end
puts "success"
Это работает только в том случае, если окно называется "firefox" точно (не чувствительно к регистру от того, когда я тестировал). Поскольку он, вероятно, будет иметь разные названия (например, "Google - Mozilla Firefox" ), вы, вероятно, захотите использовать EnumWindows для перечисления все окна и найдите тот, который вы ищете.
Win32::API и MoveWindow. См. Также Как вы программно изменяете размер и перемещаете окна с помощью API Windows?.
%x(osascript -e '...')