1

Тема: AHK: показать GUI поверх активного приложения

Доброго времени суток.Есть скрипт но он получается поверх всех окон,но это немножко не то .
Хотел сделать прицел в игре . Что бы его можно было видеть в полноэкранном режиме а не только в оконном .

#SingleInstance Force 
DetectHiddenWindows, On
run, WindOff.exe 
SetBatchLines -1
gosub hexinit
I := 1
Gui, -Caption +AlwaysOnTop +Lastfound -DPIScale +ToolWindow +E0x08000000 
Gui, Add, Picture, y25 x11 w60 h-1 gChangePic vPic hwndhPic, % HexToFile( hex%I%, A_Temp "\Pic.png")
Gui, Color, EEAA99
WinSet TransColor, EEAA99
Gui, Show, NA
SetTimer ChangePic, -600000 
Return

vk78::
ChangePic: 
    I := I = 1 ? 2 : 1 
    GuiControl, , Pic, % HexToFile( hex%I%, A_Temp "\Pic.png")
        FileDelete, %A_Temp%\Pic.png 
    SetTimer ChangePic, -600000 
    Return 

HexToFile( hex, Path)  {
    RegExReplace(hex, A_Space, "", Length) 
    VarSetCapacity(buf, Length, 0)
 
    Loop, parse, hex, %A_Space% 
        NumPut(A_LoopField + 0, buf, A_Index - 1, "UChar")  

    file := FileOpen(Path, "w")
    file.RawWrite(buf, Length)
    file.Close()
    Return Path
}      

vk7B::
    ExitApp
    
/*
 ; Программа получения переменной из файла
FileName = 
 
File := FileOpen(FileName, "r"), File.Pos := 0
File.RawRead(buf, Length := file.length)
File.Close()
 
hex := "Var := """
Loop % Length
    hex .= NumGet(buf, A_Index - 1, "UChar") . (!Mod(A_Index, 25) ? """`n" A_Tab A_Tab ". "" " : " ") 
Clipboard := hex """"
Return
*/

hexinit:

hex1 := "137 80 78 71 13 10 26 10 0 0 0 13 73 72 68 82 0 0 0 40 0 0 0 38 8"
        . " 3 0 0 0 129 42 41 47 0 0 3 0 80 76 84 69 1 0 0 12 255 28 237 28 36"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 116 71 235 28 0 0 0 1 116 82 78 83 0 64 230 216"
        . " 102 0 0 0 62 73 68 65 84 120 218 99 100 32 18 48 142 42 28 85 56 48 10 153 24"
        . " 254 141 64 133 140 12 255 137 83 136 21 144 163 144 9 76 254 135 88 203 8 145 248 71 145"
        . " 66 234 187 145 244 224 25 10 113 77 125 133 88 1 209 10 1 209 101 20 39 122 195 219 59"
        . " 0 0 0 0 73 69 78 68 174 66 96 130 "
        
hex2 := "137 80 78 71 13 10 26 10 0 0 0 13 73 72 68 82 0 0 0 40 0 0 0 38 8"
        . " 3 0 0 0 129 42 41 47 0 0 3 0 80 76 84 69 1 0 0 237 28 36 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
        . " 0 0 0 0 0 0 0 0 0 250 76 160 108 0 0 0 1 116 82 78 83 0 64 230 216"
        . " 102 0 0 0 51 73 68 65 84 120 218 99 100 32 18 48 142 42 28 85 56 48 10 25 25"
        . " 254 143 42 196 173 16 43 32 71 33 148 249 31 147 67 174 66 234 187 145 244 224 25 153 10"
        . " 177 2 162 21 2 0 241 249 18 39 112 156 64 75 0 0 0 0 73 69 78 68 174 66 96"
        . " 130 "
Return




   
OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

2

Re: AHK: показать GUI поверх активного приложения

С directX в полноэкранном режиме это врядли возможно.
Максимум - окно будет "промаргиваться" наружу, но это жутко раздражает.

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

3 (изменено: Indomito, 2013-10-31 20:28:30)

Re: AHK: показать GUI поверх активного приложения

Ядрён прицел в игре, а Gui - зачем?  Может просто нарисовать его и выводит?

Я знаю как нарисовать, что то на FullApp, просто ответ про DX и твой GUI меня смутил.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download