Open Side Menu Go to the Top
Register
AHK Code Request: Highlight Table AHK Code Request: Highlight Table

01-03-2010 , 11:23 AM
'lo guys,

1st, yes, I have read all table highlighting topics & scripts, but didn't find what I'm searching for.

I have written a little AHK for UB. Now i want to add a table highlighting function, sth like Tableninja oder Table Highlighter do. By now I made the cursor to be placed in the middle of the active table to detect it visually, and this I wanna replace with the following:

I'm searching for the code to draw a colored frame around a non-fullscreen window (no matter what size, but perfectly fitting), or at least to create a colored window bar - but I would prefer the colored frame.

I am a dumb noob in AHK scripting, so please help me and hook me up with a code I can use in my script.

TIA
AHK Code Request: Highlight Table Quote
01-03-2010 , 11:35 AM
Here's something I wrote a while back which should work:

Code:
#NoEnv
#SingleInstance force

f1::
drawFrameAroundWin(WinExist("a"), "Red", 5, 1)
return

; mode=1: Draw frame around whole window
; mode=2: Draw frame around client area
drawFrameAroundWin(win, color, thickness, mode=1, gui=0) {
t:=thickness
ifEqual, mode, 1, {
    WinGetPos, x, y, w, h, ahk_id%win%
    return drawFrame(x, y, w, h, color, thickness, gui)
  } else ifEqual, mode, 2, {
    getClientRect(x, y, w, h, win)
    return drawFrame(x, y, w, h, color, thickness, gui)
  } else {
    msgbox No such mode!
  }
}

drawFrame(x, y, w, h, color, thickness, gui=0) {
t:=thickness
x1:=0, y1:=0
x2:=w+t*2, y2:=y1
x3:=x2, y3:=h+t*2
x4:=x1, y4:=y3
x5:=x1, y5:=y1
x6:=t, y6:=t
x7:=x2-t, y7:=y6
x8:=x7, y8:=y3-t
x9:=x6, y9:=y8
x10:=x6, y10:=y6
Loop 10
  region.=x%a_index% "-" y%a_index% " "
gui:=gui ? gui : freeGui()
Gui, %gui%:default
Gui, +lastfound +alwaysOnTop +toolwindow -caption
Gui, Color, % color
x:=x-t, y:=y-t, w:=w+t*2, h:=h+t*2
Gui, Show, x%x% y%y% w%w% h%h% hide, Frame (Gui #: %gui%)
WinSet, Region, % region
Gui, Show, noActivate
return gui
}

; finds the next free gui
freeGui(startIdx=0) { 
Loop % (99-startIdx) {
    startIdx++
    Gui, %startIdx%: +lastfoundExist 
    If ! WinExist() 
      return startIdx 
  } 
} 

/**
 * Finds the "client rectangle" of a window, i.e. the area of
 * the window not including borders, titlebar, menus, etc.
 * 
 * @param x     <int>   Receives the x-coordinate of the window.
 * @param y     <int>   Receives the y-coordinate of the window.
 * @param w     <int>   Receives the width of the window.
 * @param h     <int>   Receives the height of the window.
 * @param hwnd  <hwnd>  Window handle. If blank, the Last Found Window will be used.
 * @author Adapted from code by Sean. Modified and updated to use 
 *    NumGet()/NumPut() by Roland.
 * @see http://msdn.microsoft.com/en-us/library/ms633503(VS.85).aspx
 * @see http://msdn.microsoft.com/en-us/library/aa931003.aspx
 */
getClientRect(byRef x="", byRef y="", byRef w="", byRef h="", hwnd=0) {
hwnd:=hwnd ? hwnd : WinExist()    ; use LFW if no hwnd given
VarSetCapacity(rt, 16)            ; alloc. mem. for RECT struc.
VarSetCapacity(pt, 8, 0)          ; alloc. mem. for POINT struc.
DllCall("GetClientRect" , "uint", hwnd, "uint", &rt)
DllCall("ClientToScreen", "uint", hwnd, "uint", &pt)
x:=NumGet(pt, 0, "int"), y:=NumGet(pt, 4, "int")
w:=NumGet(rt, 8, "int"), h:=NumGet(rt, 12, "int")
}
AHK Code Request: Highlight Table Quote
01-03-2010 , 07:38 PM
Wow, that is so awesome... thank you very much, Sir, I got it to work and that's close to be exactly what I wanted! If you now tell me what values to change to get the frame a little smaller (there is some little space between frame and window), this was the cerry on top! It was just perfect if the frame would have exactly the same size as the window, to make it visible all around even if the window is placed right to the edge/corner of the screen (exactly how Tableninja does, so to say^^). But no problem if this wasn't possible, I'm very happy now. Thanks once again.
AHK Code Request: Highlight Table Quote
01-04-2010 , 07:36 AM
Like this?

Code:
#NoEnv
#SingleInstance force

f1::
drawFrameAroundWin(WinExist("a"), "Red", 4, 1, true)
return

; mode=1: Draw frame around whole window
; mode=2: Draw frame around client area
; if inside is true, the frame will be drawn towards
; the "inside" of the table instead of around it, i.e. it
; will overlap with the table
drawFrameAroundWin(win, color, thickness, mode=1, inside=false, gui=0) {
t:=thickness
ifEqual, mode, 1, {
    WinGetPos, x, y, w, h, ahk_id%win%
    if inside
      x+=thickness, y+=thickness, w-=thickness*2, h-=thickness*2
    return drawFrame(x, y, w, h, color, thickness, gui)
  } else ifEqual, mode, 2, {
    getClientRect(x, y, w, h, win)
    if inside
      x+=thickness, y+=thickness, w-=thickness*2, h-=thickness*2
    return drawFrame(x, y, w, h, color, thickness, gui)
  } else {
    msgbox No such mode!
  }
}

drawFrame(x, y, w, h, color, thickness, gui=0) {
t:=thickness
x1:=0, y1:=0
x2:=w+t*2, y2:=y1
x3:=x2, y3:=h+t*2
x4:=x1, y4:=y3
x5:=x1, y5:=y1
x6:=t, y6:=t
x7:=x2-t, y7:=y6
x8:=x7, y8:=y3-t
x9:=x6, y9:=y8
x10:=x6, y10:=y6
Loop 10
  region.=x%a_index% "-" y%a_index% " "
gui:=gui ? gui : freeGui()
Gui, %gui%:default
Gui, +lastfound +alwaysOnTop +toolwindow -caption
Gui, Color, % color
x:=x-t, y:=y-t, w:=w+t*2, h:=h+t*2
Gui, Show, x%x% y%y% w%w% h%h% hide, Frame (Gui #: %gui%)
WinSet, Region, % region
Gui, Show, noActivate
return gui
}

; finds the next free gui
freeGui(startIdx=0) { 
Loop % (99-startIdx) {
    startIdx++
    Gui, %startIdx%: +lastfoundExist 
    If ! WinExist() 
      return startIdx 
  } 
} 

/**
 * Finds the "client rectangle" of a window, i.e. the area of
 * the window not including borders, titlebar, menus, etc.
 * 
 * @param x     <int>   Receives the x-coordinate of the window.
 * @param y     <int>   Receives the y-coordinate of the window.
 * @param w     <int>   Receives the width of the window.
 * @param h     <int>   Receives the height of the window.
 * @param hwnd  <hwnd>  Window handle. If blank, the Last Found Window will be used.
 * @author Adapted from code by Sean. Modified and updated to use 
 *    NumGet()/NumPut() by Roland.
 * @see http://msdn.microsoft.com/en-us/library/ms633503(VS.85).aspx
 * @see http://msdn.microsoft.com/en-us/library/aa931003.aspx
 */
getClientRect(byRef x="", byRef y="", byRef w="", byRef h="", hwnd=0) {
hwnd:=hwnd ? hwnd : WinExist()    ; use LFW if no hwnd given
VarSetCapacity(rt, 16)            ; alloc. mem. for RECT struc.
VarSetCapacity(pt, 8, 0)          ; alloc. mem. for POINT struc.
DllCall("GetClientRect" , "uint", hwnd, "uint", &rt)
DllCall("ClientToScreen", "uint", hwnd, "uint", &pt)
x:=NumGet(pt, 0, "int"), y:=NumGet(pt, 4, "int")
w:=NumGet(rt, 8, "int"), h:=NumGet(rt, 12, "int")
}
AHK Code Request: Highlight Table Quote
01-04-2010 , 10:38 AM
EDIT:

Uhm... sorry, please forget about this^^. I found the "inside=..." setting now. Shame on me.

Thank you very much, Roland, this is perfect!

Last edited by Baobhan-Sith; 01-04-2010 at 10:51 AM.
AHK Code Request: Highlight Table Quote
01-04-2010 , 02:41 PM
Hello,
May I have a copy of the script? I can't get my to work.

Thank You
AHK Code Request: Highlight Table Quote
01-04-2010 , 06:14 PM
Well, it is just very inchoate and far away from being good... I'm just working with coordinate clicks, it doesn't support all functions you might be expecting it to, and it doesn't handle all instructions well - sometimes you have to use the mouse anyhow. Worst issue is that it only works with one table resolution (1092*820).

The whole tool consists of 3 files, cuz I don't know how to call labels or to handle subroutines. So, I have the script (UBR.exe), a "restarter" (same key to toggle UBR on and off (->S.exe)) and the frame (->Frame.exe) separately.

HF on laughing at me^^. As I told, I don't expect to use it for a long time, so I am satisfied since it supports the most recent functions - and took very little time to write.

I don't think you can use any of its functions without getting your correct coordinates with the WindowSpy.

Code:
#NoEnv 
SendMode Input 
SetWorkingDir %A_ScriptDir% 
SetTitleMatchMode, 2
WheelDelay = 250
DetectHiddenWindows, on


; ------------------Detect Urgent Table + Bet Pot--------------
Loop
{
IfWinActive, NL Hold'em
Run, D:\Programme\UB Remote\Frame.exe
Loop
{
WinWaitNotActive
WinClose, Frame.exe
IfWinActive, NL Hold'em
{
Click 1050, 690
MouseMove 545, 475 
MouseClick
}
Else
WinClose, Frame.exe
break
}
}
return


; ------------Start PlaceMint---------------
IfWinNotExist, PlaceMint
{
Run, D:\Programme\PlaceMint\PlaceMint.exe
WinWaitActive, PlaceMint
WinMinimize, PlaceMint
}
return

; -------------Left Button------------------
Left::
{
MouseGetPos, xpos, ypos
Click 640, 780
Sleep, 300
MouseMove, xpos, ypos
}
return

; ------------Middle Button---------------
Down::
{
MouseGetPos, xpos, ypos
Click 820, 780
Sleep, 300
MouseMove, xpos, ypos
}
return

; ------------Right Button-----------------
Right::
{
MouseGetPos, xpos, ypos
Click 1000, 780
Sleep, 300
MouseMove, xpos, ypos
}
return

; --------------Bet Pot----------------------
Up::
{
MouseGetPos, xpos, ypos
Click 1050, 690
Sleep, 500
MouseMove, xpos, ypos
}
return

; ------------Bet Half Pot------------------
End::
{
MouseGetPos, xpos, ypos
Click 960, 690
Sleep, 500
MouseMove, xpos, ypos
}
return

; -----------Increase Bet (1BB)-----------
x::Send {WheelUp}
return

; ----------Decrease Bet (1BB)-----------
s::Send {WheelDown}
return

; -----------Sit Out Next Blind / Auto Post Blind-------------
Pause::
{
MouseGetPos, xpos, ypos
Click 770, 40
Sleep, 300
MouseMove, xpos, ypos
}
return

; ---------------Sit Out Next Hand------------------
NumpadSub::
{
MouseGetPos, xpos, ypos
Click 770, 60
Sleep, 300
MouseMove, xpos, ypos
}
return

; ---------------Sit Out Next Hand & Fold to any at 2 Tables------------------
^NumpadSub::
{
Click 620, 715
Click 770, 60
WinActivateBottom, NL Hold'em
Sleep, 250
Click 620, 715
Click 770, 60
WinActivateBottom, NL Hold'em
MouseMove 545, 475 
}
return

; ------------Auto Post Blind Window Skip--------------
Del::
{
MouseGetPos, xpos, ypos
Click 488, 453
MouseMove, xpos, ypos
}
return

; ---------------Check/fold--------------------
Numpad1::
{
MouseGetPos, xpos, ypos
Click 620, 745
Sleep, 300
MouseMove, xpos, ypos
}
return

; -------------Fold To Any Bet--------------------
Numpad2::
{
MouseGetPos, xpos, ypos
Click 620, 715
Sleep, 300
MouseMove, xpos, ypos
}
return

; ----------------Cycle Tables --------------------
Numpad0::
{
WinActivateBottom, NL Hold'em
MouseMove 545, 475
}
return

; --------------Reload Table Maximum---------------
Ins::
{
MouseGetPos, xpos, ypos 
Click 452, 52
Sleep 100
Click 480, 70
Sleep 750
Click 33, 275
Click 80, 415
Click 340, 415
MouseMove, xpos, ypos
}
return


; -------------------(Un)Mark last Hand-------------------------------------
^Numpad1::
{
MouseGetPos, xpos, ypos 
Click 700, 135
Sleep, 600
Click 1100, 95
Sleep, 100
Click 19, 49
Click 212, 11
WinActivateBottom, NL Hold'em
WinActivateBottom, NL Hold'em
MouseMove, xpos, ypos
}
return

; --------------------(Un)Mark 2nd last Hand-----------------------------------
^Numpad2::
{
MouseGetPos, xpos, ypos
Click 700, 155
Sleep, 600
Click 1100, 95
Sleep, 100
Click 19, 49
Click 212, 11
WinActivateBottom, NL Hold'em
WinActivateBottom, NL Hold'em
MouseMove, xpos, ypos
}
return

; -----------------------(Un)Mark 3rd last Hand--------------------------------
^Numpad3::
{
MouseGetPos, xpos, ypos
Click 700, 175
Sleep, 600
Click 1100, 95
Sleep, 100
Click 19, 49
Click 212, 11
WinActivateBottom, NL Hold'em
WinActivateBottom, NL Hold'em
MouseMove, xpos, ypos
}
return

; -----------------------Show mucked Holecards (1,5sec)----------------------------
Shift::
{
MouseMove 545, 640
Sleep, 1500
MouseMove 545, 475
}
return

; ------------------Close Table------------------------
Esc::
{
Click 1074, 17
Click 210, 75
WinWaitActive, Player Status
WinMinimize, Player Status
WinActivateBottom, NL Hold'em
}
return

; ---------------Suspend UBR & PlaceMint (same hk for restart)--------------
^BS::
IfWinExist, PlaceMint
{
MouseGetPos, xpos, ypos
WinActivate
WinWaitActive, PlaceMint
Click 30, 40
Sleep 50
Click 30, 60
WinMinimize
WinClose, Frame.exe
Run, D:\Programme\UB Remote\S.exe
ExitApp
MouseMove, xpos, ypos
}
IfWinNotExist, PlaceMint
{
MouseGetPos, xpos, ypos
Run, D:\Programme\PlaceMint\PlaceMint.exe
WinWaitActive, PlaceMint
Click 30, 40
Sleep 50
Click 30, 60
WinClose, Frame.exe
WinMinimize, PlaceMint
Run, D:\Programme\UB Remote\S.exe
ExitApp
MouseMove, xpos, ypos
}
return
AHK Code Request: Highlight Table Quote
01-05-2010 , 12:52 AM
Thanks,
I'll try it out.
AHK Code Request: Highlight Table Quote
05-03-2010 , 10:15 PM
thx for sharing this code roland.

Can you please tell me how I remove a rectangle after it is drawn?
AHK Code Request: Highlight Table Quote
05-04-2010 , 12:12 PM
Quote:
Originally Posted by Karl
thx for sharing this code roland.

Can you please tell me how I remove a rectangle after it is drawn?
drawFame() returns the number of the gui the function used to draw the frame. So you can use "Gui, %guiNo%: Destroy" to remove the frame.
AHK Code Request: Highlight Table Quote
05-04-2010 , 12:16 PM
thankyou
AHK Code Request: Highlight Table Quote
06-21-2010 , 09:34 AM
Hey dudes,

when I play in tiled mode I sometimes happen to misclick by trying to act on a table which isn't active, despite the green frame around the active table. This doesn't happen too often, but it leads me to thinking about another kind of table highlighter.

So would it be possible to dim the non-active tables/windows? I thought about a semi transparent image to be drawn over all tables/windows but the active one. It should kinda look like this (but not PS specific):


(random pic taken from Google search)

It would be great for videos, too, I think. Say you have a recorded 4table session (without this highlighting effect) and want to post-comment it. The tables are tiled on one monitor. You then would need a script that dims all tables but the one you're actually commenting. You could easily choose the table to be highlighted by switching between 4 images to be drawn over the video, similar to this example which highlights the top left quarter of a 1024*768 screen/video size:


(white area = 100% transparent, grey area = 50% transparent black)

So basically I'm talking 'bout two different scripts, but maybe it's possible to make one script which supports both functions.

Any ideas/thoughts?
AHK Code Request: Highlight Table Quote
06-23-2010 , 02:26 PM
what if two tables are 'active' at the same time? for example in your stars demo pic there, what if the upper right table has fold/call/bet buttons visible as well?
AHK Code Request: Highlight Table Quote
06-23-2010 , 03:34 PM
Uhm... I'm sorry but don't understand... I'm talking about a software/script that just kinda dims the inactive tables/windows (in WinXP btw). Afaik it is not possible to have more than one windows active at the same time. This has nothing to do with visble buttons. (Also, a table stays active as long as I don't act/timeout in most poker clients regardless on how many tables I'm yet to act, doesn't it?)

All I'd need for table highlighting as described was a code that puts a black semi transparent image over the desktop and all windows except the currently active one (at least still being an ahk noob I'd imagine it to work as expected this way). Would this be possible with ahk?

Last edited by Baobhan-Sith; 06-23-2010 at 03:40 PM.
AHK Code Request: Highlight Table Quote
06-23-2010 , 04:06 PM
def possible. i dont know if its better to dim all the inactive tables/windows , or to try to dim the whole desktop and cut out a piece for the active window. the problem will be that you won't be able to click anything thats dimmed. the dimmer will be always on top. ill try to throw something together when i'm free
AHK Code Request: Highlight Table Quote
06-23-2010 , 04:23 PM
Quote:
Originally Posted by greg nice
the problem will be that you won't be able to click anything thats dimmed. the dimmer will be always on top. ill try to throw something together when i'm free
That's a good point... but I assume WinActivate would still work. If so, this was fine, I'd be able to activate other tables with my hotkey script then. I'm not saying this method was the best solution, it's just been my first thoughts so far. Tbh dunno what else you could do - a friend said it could be possible to "do sth" with DirectDraw... as said idk.

TIA for your efforts.
AHK Code Request: Highlight Table Quote
06-24-2010 , 06:41 AM
Here's my attempt:

Code:
/**
 * Creates a full-screen, transparent, click-through-able window and
 * monitors changes in the active window, pushing inactive windows
 * under the full-screen window. The effect is that the active window
 * stands out more, while inactive windows appear dimmed.
 *
 * NOTE: 
 *  • Press Shift+Win+Escape to exit.
 *  • You can modify transparency and color at top of script. 
 *  
 * @author Roland
 * @date   24 June 2010
 * @AHK    1.0.48.05.L52
 * @see    http://www.autohotkey.com/forum/viewtopic.php?p=206589#206589
 */

#NoEnv
#SingleInstance force
SetWinDelay 0

TRANSPARENCY := 150
COLOR        := 0x800000

Gui, +Toolwindow -Caption +Lastfound
Gui, Color, % COLOR
WinSet, ExStyle, +0x00000020
WinSet, Transparent, % TRANSPARENCY
Gui, Show, x0 y0 w%A_Screenwidth% h%A_Screenheight% NoActivate

; keep monitoring change in active window:
Loop {
    hwndLast:=WinExist("A")   ; get handle of active window
    WinWaitNotActive          ; wait for it to become not-active
    ; if the new active window is a child window of the last active
    ; window, we don't want to change anything:
    hParent:=DllCall("GetParent", "uint", WinExist("A"))
    ifEqual, hParent, % hwndLast, {
        WinExist("ahk_id" hwndLast)     ; reset the Last Found Window
        continue
      }
    ; it wasn't a child window, so push it under the "dimmer":
    WinSet, Bottom,, ahk_id%hwndLast%
  }
return

+#esc::ExitApp
AHK Code Request: Highlight Table Quote
06-24-2010 , 07:37 AM
THIS IS SO AWESOME!!! Thank you so much Roland! One thing though... would it be possible to broaden it to the second monitor as well? You know it makes exactly what I want, but only at the primary monitor (which will be ok with my new 37" monitor, but atm I still have 2* 21"...).

AHK Code Request: Highlight Table Quote
06-24-2010 , 07:56 AM
I can't test because I only have one monitor, but try this:

Code:
/**
 * Creates a full-screen, transparent, click-through-able window and
 * monitors changes in the active window, pushing inactive windows
 * under the full-screen window. The effect is that the active window
 * stands out more, while inactive windows appear dimmed.
 *
 * NOTE: 
 *  • Press Shift+Win+Escape to exit.
 *  • You can modify transparency and color at top of script. 
 *  
 * @author Roland (roland@overcards.com)
 * @date   24 June 2010
 * @AHK    1.0.48.05.L52
 * @see    http://www.autohotkey.com/forum/viewtopic.php?p=206589#206589
 */

#NoEnv
#SingleInstance force
SetWinDelay 0

TRANSPARENCY := 150
COLOR        := 0x800000

SysGet, monitorCount, MonitorCount
Loop % monitorCount {
    Gui, %a_index%: Default
    Gui, +Toolwindow -Caption +Lastfound
    Gui, Color, % COLOR
    WinSet, ExStyle, +0x00000020
    WinSet, Transparent, % TRANSPARENCY
    SysGet, mon, MonitorWorkArea , % a_index
    Gui, Show
    , % "x" monLeft " y" monTop " w" monRight-monLeft 
      . " h" monBottom-monTop " NoActivate"
  }

; keep monitoring change in active window:
Loop {
    hwndLast:=WinExist("A")   ; get handle of active window
    WinWaitNotActive          ; wait for it to become not-active
    ; if the new active window is a child window of the last active
    ; window, we don't want to change anything:
    hParent:=DllCall("GetParent", "uint", WinExist("A"))
    ifEqual, hParent, % hwndLast, {
        WinExist("ahk_id" hwndLast)     ; reset the Last Found Window
        continue
      }
    ; it wasn't a child window, so push it under the "dimmer":
    WinSet, Bottom,, ahk_id%hwndLast%
  }
return

+#esc::ExitApp
AHK Code Request: Highlight Table Quote
06-24-2010 , 08:38 AM
Yea that's perfect! What a great improvement to my game feeling, that's exactly what I imagined (after I set the color to "000000"). Should be very hard to misclick any more

Guys, everybody, test this little script, it's pure awesomeness imo! Especially if you're going to make a video you should give it a try!

Roland, I'd be happy to ship you some bucks when I get my moniez in about 2 weeks (or right now via UB xfer... but I don't assume you're playing there^^) - just PM me if interested! Thanks again dude!

AHK Code Request: Highlight Table Quote
06-24-2010 , 10:17 AM
Wow, this is very cool. Thanks Roland.
AHK Code Request: Highlight Table Quote
06-24-2010 , 10:57 AM
Glad you guys like it. Here's a slightly improved version (previous version wasn't ignoring dialogs reliably):

Code:
/**
 * Creates a full-screen, transparent, click-through-able window and
 * monitors changes in the active window, pushing inactive windows
 * under the full-screen window. The effect is that the active window
 * stands out more, while inactive windows appear dimmed.
 *
 * NOTE: 
 *  • Press Shift+Win+Escape to exit.
 *  • You can modify transparency and color at top of script. 
 *  
 * @author Roland (roland@overcards.com)
 * @date   24 June 2010
 * @AHK    1.0.48.05.L52
 * @see    http://www.autohotkey.com/forum/viewtopic.php?p=206589#206589
 */

#NoEnv
#SingleInstance force
SetWinDelay -1          ; we don't want any delays

TRANSPARENCY := 150
COLOR        := 0x000000

SysGet, monitorCount, MonitorCount
Loop % monitorCount {
    Gui, %a_index%: Default
    Gui, +Toolwindow -Caption +Lastfound
    Gui, Color, % COLOR
    WinSet, ExStyle, +0x00000020
    WinSet, Transparent, % TRANSPARENCY
    SysGet, mon, MonitorWorkArea , % a_index
    Gui, Show
    , % "x" monLeft " y" monTop " w" monRight-monLeft 
      . " h" monBottom-monTop " NoActivate"
  }

; keep monitoring change in active window:
Loop {
    hwndLast:=WinExist("A")   ; get handle of active window
    WinWaitNotActive          ; wait for it to become not-active
    ; this is necessary due to "SetWinDelay -1" above... we need to
    ; wait until a new active window exists (sometimes there is no
    ; new active window yet):
    while !WinExist("A")
      Sleep 10
    ; if the new active window is a child window of the last active
    ; window, we don't want to change anything:
    hParent:=DllCall("GetParent", "uint", WinExist("A"))
    ; if it's not a child window, push it under the "dimmer":
    ifNotEqual, hParent, % hwndLast, WinSet, Bottom,, ahk_id%hwndLast%
  }
return

+#esc::ExitApp
Quote:
Originally Posted by Baobhan-Sith
Roland, I'd be happy to ship you some bucks when I get my moniez in about 2 weeks (or right now via UB xfer... but I don't assume you're playing there^^) - just PM me if interested!
No need to send me money, but if you still want to in two weeks time, my screen name on stars is "high_bags".
AHK Code Request: Highlight Table Quote
06-24-2010 , 02:19 PM
roland to the rescue. awesome job man.
AHK Code Request: Highlight Table Quote
06-24-2010 , 06:18 PM
Thanks greg
AHK Code Request: Highlight Table Quote
07-06-2010 , 09:49 AM
sounds good, going to test it.
AHK Code Request: Highlight Table Quote

      
m