3

Я пытаюсь выяснить, как определить, какая кнопка на панели задач была нажата. В частности, я хочу написать сценарий, который позволяет максимизировать окно, дважды щелкнув его кнопку на панели задач. Для этого требуется знать, какая кнопка на панели задач была нажата, и мне сложно найти какие-либо выводы.Определить, какую кнопку на панели задач нажать (определить целевое окно)

Кто-нибудь знает, как это можно сделать?

+0

Вы должны использовать [WinAPI] (https://msdn.microsoft.com/en-us/library/windows/desktop/ff818516 (v = vs.85) .aspx) через 'DllCall' и, возможно, 'RegisterCallback' * много *. Я предлагаю искать форумы AHK для подобных сценариев, чтобы понять, как это делается, потому что хакерская функциональность Windows Explorer не является тривиальной. – wOxxOm

+0

related: http://stackoverflow.com/questions/34888422/find-cordinates-of-pinned-taskbar-shorcuts – Blauhirn

ответ

1

Это хотя я должен признать. Я не могу предложить вам лучшее решение практики, но здесь немного работы вокруг, может быть, достаточно для ваших целей:

CoordMode, Mouse, Screen 
~LButton:: 
    If (A_TimeSincePriorHotkey<400) and (A_PriorHotkey="~LButton") { 
     WinGetPos, taskBarX, taskBarY, taskBarW, taskBarH, ahk_class Shell_TrayWnd 
     MouseGetPos, mouseX, mouseY 
     If (mouseX >= taskBarX && mouseY >= taskBarY && mouseX <= taskBarX+taskBarW && mouseY <= taskBarY+taskBarH) 
      OnDoubleClickTaskbar() 
    } 
Return 

OnDoubleClickTaskbar() { 
    ;WinWaitNotActive, ahk_class Shell_TrayWnd 
    Sleep, 200 
    WinMaximize, A 
} 

Проверено на Windows, 8.1.

Смежные вопросы