2015-07-13 31 views
3

我試圖找出如何檢測其任務欄按鈕被點擊。具體來說,我想編寫一個腳本,通過雙擊它的任務欄按鈕,可以最大化一個窗口。這需要知道哪個任務欄按鈕被點擊,哪一個我很難找到任何線索。檢測其任務欄按鈕被點擊(確定目標窗口)

有誰知道這是如何實現的?

+0

你將不得不使用[WinAPI的(https://msdn.microsoft.com/en-us/library/windows/desktop/ff818516(V = vs.85)的.aspx)通過'DllCall',也許'RegisterCallback' *很多*。我建議在AHK論壇上搜索類似的腳本,以瞭解它是如何完成的,因爲攻擊Windows資源管理器的功能並不是微不足道的。 – wOxxOm

+0

相關: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。