Помогите с работой ahk в неактивном окне

sixqwera

Новичок
Автор темы
2
0
Как можно сделать чтоб ахк скрипт посылал нажатие клавиш в неактивное окно RAGE Multiplayer?

вот код:

(24, 25, 26 строка)

code:
IM = C:\MyGames\avabots.ico
IfExist, %IM%
Menu, Tray, Icon, %IM%
;return

#SingleInstance,Force
CoordMode, Mouse, Screen
if ( A_ScreenWidth != "1920" or A_ScreenHeight != "1080" ) {
    MsgBox, Разрешение вашего монитора не совпадает с нужным.
    ExitApp
    return
}
gui, font, s9, Arial
Gui, Add, Text, cGreen, F4 - включить бота (включать перед крафтом)`nF2 - перезагрузить бота
Gui, Add, Text, cRed, F3 - экстренно закрыть бота.`nF5 - выключить после крафта.
Gui, Show, xCenter yCenter w275 h95
return

GuiEscape:  
GuiClose:
    ExitApp
    return

gta_window := "ahk_exe RAGE Multiplayer.exe"
WinGetPos, , , W, H, %gta_window%
If (W = 1920 and H = 1080)
 
F2:: Reload
F3:: ExitApp
F5:: x:= "1"
F4::
x := "0"
Loop
{
    PixelGetColor, color_up1, 960, 840, RGB
    PixelGetColor, color_up2, 964, 825, RGB
    PixelGetColor, color_up3, 956, 825, RGB
    if ( color_up1 = "0x000000" and color_up2 = "0x000000" and color_up3 = "0x000000" ) {
        Send, {vk26}
        sleep, 30
    }
    else
        PixelGetColor, color_down1, 960, 825, RGB
        PixelGetColor, color_down2, 965, 837, RGB
        PixelGetColor, color_down3, 955, 837, RGB
        if ( color_down1 = "0x000000" and color_down2 = "0x000000" and color_down3 = "0x000000" ) {
            Send, {vk28}
            sleep, 30
        }
    else
        PixelGetColor, color_right1, 953, 832, RGB
        PixelGetColor, color_right2, 966, 827, RGB
        PixelGetColor, color_right3, 965, 837, RGB
        if ( color_right1 = "0x000000" and color_right2 = "0x000000" and color_right3 = "0x000000" ) {
            Send, {vk27}
            sleep, 30
        }
    else
        PixelGetColor, color_left1, 968, 833, RGB
        PixelGetColor, color_left2, 954, 828, RGB
        PixelGetColor, color_left3, 954, 836, RGB
        if ( color_left1 = "0x000000" and color_left2 = "0x000000" and color_left3 = "0x000000" ) {
            Send, {vk25}
            sleep, 30
        }
    else if ( x = "1" ) {
        break
    }
    else
        Send, {vk45}
        sleep, 100
}
 

zKuk

Активный
150
59
Как можно сделать чтоб ахк скрипт посылал нажатие клавиш в неактивное окно RAGE Multiplayer?

вот код:

(24, 25, 26 строка)

code:
IM = C:\MyGames\avabots.ico
IfExist, %IM%
Menu, Tray, Icon, %IM%
;return

#SingleInstance,Force
CoordMode, Mouse, Screen
if ( A_ScreenWidth != "1920" or A_ScreenHeight != "1080" ) {
    MsgBox, Разрешение вашего монитора не совпадает с нужным.
    ExitApp
    return
}
gui, font, s9, Arial
Gui, Add, Text, cGreen, F4 - включить бота (включать перед крафтом)`nF2 - перезагрузить бота
Gui, Add, Text, cRed, F3 - экстренно закрыть бота.`nF5 - выключить после крафта.
Gui, Show, xCenter yCenter w275 h95
return

GuiEscape: 
GuiClose:
    ExitApp
    return

gta_window := "ahk_exe RAGE Multiplayer.exe"
WinGetPos, , , W, H, %gta_window%
If (W = 1920 and H = 1080)
 
F2:: Reload
F3:: ExitApp
F5:: x:= "1"
F4::
x := "0"
Loop
{
    PixelGetColor, color_up1, 960, 840, RGB
    PixelGetColor, color_up2, 964, 825, RGB
    PixelGetColor, color_up3, 956, 825, RGB
    if ( color_up1 = "0x000000" and color_up2 = "0x000000" and color_up3 = "0x000000" ) {
        Send, {vk26}
        sleep, 30
    }
    else
        PixelGetColor, color_down1, 960, 825, RGB
        PixelGetColor, color_down2, 965, 837, RGB
        PixelGetColor, color_down3, 955, 837, RGB
        if ( color_down1 = "0x000000" and color_down2 = "0x000000" and color_down3 = "0x000000" ) {
            Send, {vk28}
            sleep, 30
        }
    else
        PixelGetColor, color_right1, 953, 832, RGB
        PixelGetColor, color_right2, 966, 827, RGB
        PixelGetColor, color_right3, 965, 837, RGB
        if ( color_right1 = "0x000000" and color_right2 = "0x000000" and color_right3 = "0x000000" ) {
            Send, {vk27}
            sleep, 30
        }
    else
        PixelGetColor, color_left1, 968, 833, RGB
        PixelGetColor, color_left2, 954, 828, RGB
        PixelGetColor, color_left3, 954, 836, RGB
        if ( color_left1 = "0x000000" and color_left2 = "0x000000" and color_left3 = "0x000000" ) {
            Send, {vk25}
            sleep, 30
        }
    else if ( x = "1" ) {
        break
    }
    else
        Send, {vk45}
        sleep, 100
}
ControlClick, ControlSend