Autohotkeys Google Chrome विंडोज को पहचान नहीं सकते हैं। मैं क्या कर सकता हूँ?


5

मैं Google Chrome को सक्रिय करने के लिए या सभी Chrome विंडो के बीच स्थानांतरित करने के लिए, ऑटोहोटेक में एक हॉटकी बना रहा हूं।

HotKey Win+ H(h अर्थ http) है।

यदि उपयोगकर्ता Win+ Shift+ दबाता है तो Hयह एक नई क्रोम विंडो खोलता है

यदि उपयोगकर्ता Win+ Hदो बार दबाता है , तो यह सभी क्रोम विंडो के बीच चलता है:

अद्यतन: नीचे में पूरी स्क्रिप्ट देखें। आप सभी को धन्यवाद:

समस्या यह है कि AutoHotKeys क्रोम की कक्षा नहीं खोज सकते हैं, इसलिए यह हमेशा नई विंडो खोलती है:

यह फ़ंक्शन हमेशा गलत होता है: If WinExist ahk_class Chrome_WidgetWin_1

कृपया सलाह दें।

स्क्रिप्ट फ़ाइल:

#h::
SetTitleMatchMode, 2
If WinExist ahk_class Chrome_WidgetWin_1
{
ifWinActive
WinActivatebottom ,Chrome_WidgetWin_1
else
WinActivate 
return
}
run chrome.exe

मुझे बग मिल गया।

AutoHotkeys, और Google Chrome के इस संस्करण में ifWinExist फ़ंक्शन के साथ एक बग है। उपयोगकर्ता उपयोग कर सकता है;

WinActivate ahk_class Chrome_WidgetWin_1

लेकिन उपयोग नहीं कर सकते:

If WinExist ahk_class Chrome_WidgetWin_1

यह हमेशा झूठ है!

आशा है कि यह प्रश्न और उत्तर किसी की मदद करेगा (मैं उत्तर नहीं लिख सकता, क्योंकि मेरे पास केवल 1 प्रतिष्ठा बिंदु है)

अपडेट: इस के लिए स्रोत कोड, Ahk है Win+ nओपन नोटपैड या खुले नोटपैड के बीच स्विच।

+ Shift+ nनया नोटपैड खोलें।

Win+ cCmd.exe खोलें या कंसोल विंडो के बीच स्विच करें।

Win+ Shift+ cनया कंसोल खोलें।

Win+ hओपन गूगल क्रोम या Chrome विंडो के बीच स्विच + Shift+ hओपन नई ब्राउज़र।

SetTitleMatchMode, 2


;********command line
#c::
IfWinExist ,cmd.exe
{
ifWinActive
WinActivatebottom ,cmd.exe
else
WinActivate
return
}
#+c::
run cmd.exe
return

;******************Chrome
#h::
IfWinExist ,Chrome
    {
    ifWinActive
        {
        WinActivatebottom ,Chrome
    }
    else
    {
        WinActivate
    }
    return
}

#+h::
run "chrome"
return 
;**************Notepad
#n::
IfWinExist ,Notepad
    {
    ifWinActive
        {
        WinActivatebottom ,Notepad
    }
    else
    {
        WinActivate
    }
    return
}

#+n::
run "notepad"
return

वास्तव में समस्या क्या है? कृपया विरोधाभास करें।

यह फ़ंक्शन हमेशा गलत होता है: IfWinExist ahk_class Chrome_WidgetWin_1
Shluch

जवाबों:


3

मैं केवल नाम का उपयोग करता हूं (चूंकि Google ने एक बार वर्ग नाम बदल दिया था)। यहाँ AHK_L में एक एक्सप्लोरेशन है जिसका मैं उपयोग करता हूं।

SetTitleMatchMode, 2

#ifWinActive, Chrome
    NumpadIns::Send, {Click}
    NumpadRight::Send, ^{PgDn} ; Right arrow = activate next Tab
    NumpadLeft::Send, ^{PgUp} ; Left arrow = activate previous tab
#ifWinActive

1

Chrome_WidgetWin_0 आज़माएं।
अगर यह काम नहीं करता है तो पता लगाएं कि यह WinGet का उपयोग करके वास्तविक वर्ग क्या है

WinGet,activeId,ID,A  <- gives active window ahk_id
WinGetClass, activeClass, ahk_id %activeId%


आप नाम से भी खोजने का प्रयास कर सकते हैं

SetTitleMatchMode, 2
WinGetTitle, OutputVar , Chrome <- type the name of the chrome window ( probably contains chrome)


आप अभी भी इस सवाल का उल्लेख कर सकते हैं यदि सब कुछ विफल रहता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.