Sign in to follow this  
Followers 0
death pax

ignoring clicks on gui

9 posts in this topic

Is there anyway i can make it so that when i click on a gui, it doesnt try to become active?

Share this post


Link to post
Share on other sites



Is there anyway i can make it so that when i click on a gui, it doesnt try to become active?

you could disable it... winsetstate($gui,"",@SW_DISABLE) i think...

1100111 00001011101111 00011101101111 00010111100100 00001111110100 00110111110010 00101101111001 0011100i didn't make up this form of encryption, but i like it.credit to the lvl 6 challenge on arcanum.co.nz

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

i tried that, but then it didnt show up at all

Edit: er it didnt do anything, the gui still is still becoming active

Edited by death pax

Share this post


Link to post
Share on other sites

ok heres the deal. i have an overlay that is being displayed over a fullscreen game. however when the game looses focus while in fullscreen, opengl crashes. so to avoid that i want to keep my overlay from getting focus

Share this post


Link to post
Share on other sites

ok heres the deal. i have an overlay that is being displayed over a fullscreen game. however when the game looses focus while in fullscreen, opengl crashes. so to avoid that i want to keep my overlay from getting focus

are you able to run the game in windowed mode?

1100111 00001011101111 00011101101111 00010111100100 00001111110100 00110111110010 00101101111001 0011100i didn't make up this form of encryption, but i like it.credit to the lvl 6 challenge on arcanum.co.nz

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

Don't you think it would be more beneficial to at least post your gui source?

Edit:

Here's a stab at it, since there is no source, no game mentioned, no example.

#include <guiconstants.au3>
$main = GUICreate('test', 200, 100)
$b = GUICtrlCreateButton('testb', 70, 35, 60, 30, $WS_DISABLED)

GUISetState()

While 1
    $msg = GUIGetMsg()
    Select
        Case $msg = - 3
            ExitLoop
        Case $msg = $GUI_EVENT_PRIMARYDOWN
            GUICtrlSetState($b, $GUI_DISABLE); just to show that you can actually disable other controls with primary button clicked
            ContinueLoop
        Case $msg = $b
            MsgBox(0, 'oops', ''); should never get this
    EndSelect
    Sleep(10)
WEnd
Edited by SmOke_N

[center]Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.[/center]

Share this post


Link to post
Share on other sites

#7 ·  Posted (edited)

; ----------------------------------------------------------------------------
; Crosshair Overlay
; AutoIt Version: 3.1.1
; Author:        Death Pax <death_pax@msn.com
;
; Script Function:
;   Generates a crosshair overlay
;
; ----------------------------------------------------------------------------

; Script Start - Add your code below here
#include <GUIConstants.au3>

opt("traymenumode",1)
$aboutitem = TrayCreateItem("About")
$Exititem   = TrayCreateItem("Exit")
$gui = GUICreate("Window",50,50,@DesktopWidth/2-17,@DesktopHeight/2-24,$WS_POPUP,BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW))
GUISetState(@SW_SHOW)
UpdateTextWindow($gui,"¤",50,50,"Lucida Sans Unicode",1,@DesktopWidth/2-17,@DesktopHeight/2-24,0xFF0000)
While 1
$msg = TrayGetMsg()
    Select
        Case $msg = $aboutitem
            Msgbox(64,"About:","Crosshair v1 "&@CRLF&"Created by Death Pax")
        Case $msg = $exititem
            Exit
        EndSelect
    winsetstate($gui,"",@SW_DISABLE)
            GuiSetCursor(16,1,$gui)
Wend
Func UpdateTextWindow($hwnd,$zText,$width,$height,$font="Lucida Sans Unicode",$weight=1,$x=-1,$y=-1,$color=-1)
    Local Const $ANSI_CHARSET = 0
    Local Const $OUT_CHARACTER_PRECIS = 2
    Local Const $CLIP_DEFAULT_PRECIS = 0
    Local Const $PROOF_QUALITY = 2
    Local Const $FIXED_PITCH = 1
    Local Const $RGN_XOR = 3
    
    If $font = "" Then $font = "Microsoft Sans Serif"
    If $weight = -1 Then $weight = 1000
    
    If $color <> -1 Then 
        GUISetBkColor($color,$hwnd)
    Else
        GUISetBkColor(0xFF0000,$hwnd)
    EndIf
    Local $hDC= DLLCall("user32.dll","int","GetDC","hwnd",$hwnd)
    Local $hMyFont = DLLCall("gdi32.dll","hwnd","CreateFont","int",$height, _
                    "int",0,"int",0,"int",0,"int",1000,"int",0, _
                    "int",0,"int",0,"int",$ANSI_CHARSET, _
                    "int",$OUT_CHARACTER_PRECIS,"int",$CLIP_DEFAULT_PRECIS, _
                    "int",$PROOF_QUALITY,"int",$FIXED_PITCH,"str",$font )
    Local $hOldFont = DLLCall("gdi32.dll","hwnd","SelectObject","int",$hDC[0], _
                    "hwnd",$hMyFont[0])
    DLLCall("gdi32.dll","int","BeginPath","int",$hDC[0])
    DLLCall("gdi32.dll","int","TextOut","int",$hDC[0],"int",0,"int",0, _
                    "str",$zText,"int",StringLen($zText))
    DLLCall("gdi32.dll","int","EndPath","int",$hDC[0])
    Local $hRgn1 = DLLCall("gdi32.dll","hwnd","PathToRegion","int",$hDC[0])
    Local $rc = DLLStructCreate("int;int;int;int")
    DLLCall("gdi32.dll","int","GetRgnBox","hwnd",$hRgn1[0], _
                    "ptr",DllStructGetPtr($rc))
    Local $hRgn2 = DLLCall("gdi32.dll","hwnd","CreateRectRgnIndirect", _
                    "ptr",DllStructGetPtr($rc))
    DLLCall("gdi32.dll","int","CombineRgn","hwnd",$hRgn2[0],"hwnd",$hRgn2[0], _
                    "hwnd",$hRgn1[0],"int",$RGN_XOR)
    DLLCall("gdi32.dll","int","DeleteObject","hwnd",$hRgn1[0])
    DLLCall("user32.dll","int","ReleaseDC","hwnd",$hwnd,"int",$hDC[0])
    DLLCall("user32.dll","int","SetWindowRgn","hwnd",$hwnd,"hwnd",$hRgn2[0],"int",1)
    DLLCall("gdi32.dll","int","SelectObject","int",$hDC[0],"hwnd",$hOldFont[0])
EndFunc

Edited by death pax

Share this post


Link to post
Share on other sites

#8 ·  Posted (edited)

maybe im what i need is to be able to click *through* the window...

any suggestions?

Edited by death pax

Share this post


Link to post
Share on other sites

darn... still nothing? maybe i should ask larry... since i created it based off of his text window dll calls

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0