在Windows系统上,我运行了Python / QT GUI。 现在按下button,我需要激活最小化或不在我的应用程序前谷歌浏览器最小化。
如何激活谷歌浏览器,然后切换到static title name
或process id titles
(使用Python或其他方式)非常具体的选项卡?
(例如激活第二个标签)
Python:(不工作,它只是在努力打开它)
import webbrowser url = 'http://docs.python.org/' chrome_path = 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe %s' webbrowser.get(chrome_path).open(url)
Ahk:失败
#d:: list := Acc_Get("Object", "4.23.1", 0, "ahk_class MozillaWindowClass") ;MsgBox % list.accChildCount-1 for each, tab in Acc_Children(list) { MsgBox, % tab.accName(0) tab.accDoDefaultAction(0) } Return #c::WinActivate( "Calculator", "calc" ) #NoTrayIcon #SingleInstance force WinActivate( TheWindowTitle, TheProgramTitle ) { SetTitleMatchMode,2 DetectHiddenWindows, Off IfWinExist, %TheWindowTitle% { WinGet, winid, ID, %TheWindowTitle% DllCall("SwitchToThisWindow", "UInt", winid, "UInt", 1) } Else { Run %TheProgramTitle% } Return }
尝试一下:
If ChromeHasTabNamed( "Activating Chrome Tab" ) MsgBox, Yes Return ChromeHasTabNamed( X ) { SetTitleMatchMode, 2 WinGetTitle, title, - Chrome While Not InStr( list, title "`n" ) { list .= title "`n" ControlSend,, ^{Tab}, - Chrome Sleep, 50 WinGetTitle, title, - Chrome } Return, InStr( list, X ) ? True : False }
尝试到DIE:
SetTitleMatchMode, 2 WinWaitActive - Google Chrome ControlFocus, Chrome_RenderWidgetHostHWND1 Loop, 15 { WinGetTitle, Title, A ;get active window title if(InStr(Title, "Gmail")>0) { break ; Terminate the loop } Send ^{Tab} Sleep, 50 } return
作品。
chrome := "- Google Chrome" found := "false" tabSearch := "Gmail" curWinNum := 0 SetTitleMatchMode, 2 WinGet, numOfChrome, Count, %chrome% ; Get the number of chrome windows WinActivateBottom, %chrome% ; Activate the least recent window WinWaitActive %chrome% ; Wait until the window is active ControlFocus, Chrome_RenderWidgetHostHWND1 ; Set the focus to tab control ??? while (curWinNum < numOfChrome and found = "false") { WinGetTitle, firstTabTitle, A ; The initial tab title title := firstTabTitle Loop { if(InStr(title, tabSearch)>0){ found := "true" break } Send {Ctrl down}{Tab}{Ctrl up} Sleep, 50 WinGetTitle, title, A ;get active window title if(title = firstTabTitle){ break } } WinActivateBottom, %chrome% curWinNum := curWinNum + 1 } if(found = "false"){ Run "https://gmail.com" } return