Мне просто интересно, есть ли в файле .bat способ вызвать внешний файл .bat или даже *.exe и сделать его открытым, чтобы он «привязывался» к верхнему левому углу экрана?
Ваше здоровье
Мне просто интересно, есть ли в файле .bat способ вызвать внешний файл .bat или даже *.exe и сделать его открытым, чтобы он «привязывался» к верхнему левому углу экрана?
Ваше здоровье
Нет прямого способа позиционировать окно из командной строки Windows. В основном у вас есть следующие варианты:
Используйте инструмент автоматизации с графическим интерфейсом, например. AutoHotkey, который позволяет записывать действия окна. AutoHotkey, например. предлагает команду WinMove:
Run, calc.exe
WinWait, Calculator
WinMove, 0, 0 ; Move the window found by WinWait to the upper-left corner of the screen.
Используйте PowerShell, например. с помощью оснастки WASP (http://wasp.codeplex.com/).
Напишите короткую программу на C/C++/.NET, которая поместит активное окно в позицию 0,0 вашего главного экрана.
Очень простая программа на C#, которая принимает заголовок окна в качестве параметра, может выглядеть так:
using System;
using System.Runtime.InteropServices;
class Program
{
public const int SWP_NOSIZE = 0x0001;
public const int SWP_NOZORDER = 0x0004;
[DllImport("user32.dll", SetLastError = true)]
private static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int x, int y, int cx, int cy, uint uFlags);
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
static void Main(string[] args)
{
IntPtr handle = FindWindow(null, args[0]);
SetWindowPos(handle, IntPtr.Zero, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
}
}
в поле cmd введите help start
.
пример: start /MAX "xxx.bat"
Используйте команду start
.
Это немного грязно, но я думаю, что это можно сделать.
Вам потребуется установить две программы:
AutoIt
Winsplit Revolution
Создайте скрипт autoit, чтобы:
1. открыть нужную программу или пакетный файл
2. дождаться открытия программы
3. сделать программу активным окном
4. нажать ctrl+ alt+7, "Отправить("^!7")" (Ярлык Winsplit Revolution для отправки программы в верхний левый угол)
5. Завершить скрипт
Если у меня будет время позже, я попытаюсь написать это