Вопрос: Необходимо, чтобы Autohotkey активировал активное окно


Я ищу способ сосредоточить активное окно на рабочем столе с помощью Autohotkyes. Может кто-нибудь дать мне сценарий, который я мог бы использовать, пожалуйста. благодаря


4
2018-03-21 11:17


Источник




Ответы:


http://www.autohotkey.com/docs/commands/WinMove.htm был первым результатом в google с фразой «autohotkey center window». Это может помочь вам. См. Пример сценария.

Пример скрипта

Run, calc.exe
WinWait, калькулятор
WinMove, 0, 0; Переместите окно, найденное WinWait, в верхний левый угол экрана.

SplashTextOn, 400, 300, Clipboard, Буфер обмена содержит: `n% clipboard%
WinMove, Clipboard,, 0, 0; Переместите всплывающее окно в верхний левый угол.
Msgbox, нажмите OK, чтобы закрыть SplashText
SplashTextOff

; Следующая функция центрирует указанное окно на экране:
CenterWindow (WinTitle)
{
    WinGetPos ,,, Ширина, Высота,% WinTitle%
    WinMove,% WinTitle% ,, (A_ScreenWidth / 2) - (Ширина / 2), (A_ScreenHeight / 2) - (Высота / 2)
}

Индивидуальные

; Следующая функция центрирует указанное окно на экране:
CenterWindow (WinTitle)
{
    WinGetPos ,,, Ширина, Высота,% WinTitle%
    WinMove,% WinTitle% ,, (A_ScreenWidth / 2) - (Ширина / 2), (A_ScreenHeight / 2) - (Высота / 2)
    , Msgbox, сделал Центр блокнота?
}

Run, file.exe

CenterWindow ("title of file.exe")

5
2018-03-21 11:23



ссылки только ответы обескуражены, но не стесняйтесь применять информацию, которая находится в этой ссылке, чтобы ответ был в вашем ответе. - soandos
Зачем вам что-то помещать в буфер обмена? - soandos


Для простоты и адаптации я создал дополнительный супер-короткий скрипт, который просто принимает активное окно и центрирует его, но также изменяет его размер с заданной шириной и высотой. Возможно, это не то, о чем вы просили, за исключением некоторых лет. Но это одно дело в управлении Windows, которое я ожидаю от ОС во времена резолюций выше FHD. Надеюсь, кому-то это понадобится. высокочастотный

; HOTKEYS
#!Up::CenterActiveWindow() ; if win+alt+↑ is pressed

CenterActiveWindow()
{
    windowWidth := A_ScreenWidth * 0.7 ; desired width
    windowHeight := A_ScreenHeight ; desired height
    WinGetTitle, windowName, A
    WinMove, %windowName%, , A_ScreenWidth/2-(windowWidth/2), 0, windowWidth, windowHeight
}

3
2017-12-22 19:27





С помощью JohannesM«s CenterWindow() функция, этот скрипт центрирует активное окно на горячей клавише RightShift & C, Горячая клавиша RightShift & B перемещает центрированное окно обратно в исходное положение, высоту и ширину.

Для пользователя сценарий скопируйте код и сохраните его как .ahk файл. Я использовал имя файла center active window_RShiftC_B.ahk

С Autohokey установлен, запустить скрипт, дважды щелкнув файл center active window_RShiftC_B.ahk

RShift & c::

global windowName
global X
global Y
global begWidth
global begHeight

WinGetTitle, windowName, A

WinGetPos, X, Y, begWidth, begHeight, %windowName%

CenterWindow(windowTitleVariable)
{
    WinGetPos,,, Width, Height, %windowTitleVariable%
    WinMove, %windowTitleVariable%,, (A_ScreenWidth/2)-(Width/2), (A_ScreenHeight/2    )-(Height/2)
}

CenterWindow(windowName)

return


RShift & b::

WinMove, %windowName%,, X, Y, begWidth, begHeight

return  

2
2018-06-06 21:16





В этих ответах используется соответствие заголовков, которое может применяться к нескольким окнам. Это будет сосредоточено только на активном окне, когда вы нажмете win + c.

#c::
WinExist("A")
WinGetPos,,, sizeX, sizeY
WinMove, (A_ScreenWidth/2)-(sizeX/2), (A_ScreenHeight/2)-(sizeY/2)
return

2
2017-11-12 19:21