Optimus Prime
Optimus Prime

Reputation: 499

AutoHotKey IfWinActive not working

I'm trying to use a simple script that would work only when the active window is open and when you're in that window (e.g. some windowed mode game). So the script works, but it also works outside the active window, e.g. on desktop or a browser too. I don't need that. I need it to work only in the active window I set.

The script:

RButton::rightMouseClick()
    rightMouseClick(){
        if WinActive("ahk_class Notepad") {
            WinMaximize
            Send, Some text.{Enter}
            return
        }
    }

So, this example works when you go to Notepad and right click. But also now right click doesn't work anywhere else on the computer? It works only if you hold down shift?!

How do I make this script react/work/run only when active window is Notepad? And not work globally.

Upvotes: 2

Views: 8086

Answers (2)

Forivin
Forivin

Reputation: 15488

Here is my suggestion:

#If WinActive("ahk_class Notepad") ;if the window with the ahk_class "Notepad" is active
    RButton::                      ;this hotkey is only enabled while the above statement is true
        WinMaximize                ;maximize the active window
        Send, Some text.{Enter}    ;send some keyboard input
    Return                         ;end of the hotkey
#If                                ;end of the special "#If" statement

Correct indentation alone can help a lot understanding the code.

Upvotes: 4

Optimus Prime
Optimus Prime

Reputation: 499

#IfWinActive ahk_class Notepad
RButton::
    WinMaximize
    Send, Some text.{Enter}
    Return
    #If

Upvotes: 1

Related Questions