abend zusammen,
wie kann man mit autoit eine gui immer im vordergrund lassen auch bei spielen, so wie fraps das macht
abend zusammen,
wie kann man mit autoit eine gui immer im vordergrund lassen auch bei spielen, so wie fraps das macht
Schau mal in der Hilfe, WinSetOnTop.
setzen sich die spiele nicht von selber noch weiter in den vordergrund
Du kannst auch bei GUICreate den ExtendedStyle $WS_EX_TOPMOST verwenden. Probier es einfach aus . Wenn du WinSetOnTop verwendest, sollte das Fenster dann auch im Vordergrund sein .
hab ich schon versucht geht nciht die spiele sind trotdem im vordergrund
Probier mal mit WinSetOnTop dem Spiel das Topmost Flag zu entziehen, das ist das einzige was mir dazu einfällt.WinSetOnTop("Spielname", "", 0)
Hier mit diesem Bsp geht es auch nicht:
#include <WindowsConstants.au3>
WinSetOnTop("Crysis", "", 0)
GUICreate("Test",@DesktopWidth / 2.5,@DesktopHeight / 2.5,-1,-1, $WS_POPUP, $WS_EX_TOPMOST)
GUISetBkColor(0x000000)
GUISetState()
WinSetOnTop("Test", "", 1)
While 1
Sleep (200)
WinSetOnTop("Crysis", "", 0)
WinSetOnTop("Test", "", 1)
WEnd
Hallo
Man, benutzt doch einfach mal die Suche. Wurde 1000x hier besprochen. Einfach mal nach Fraps suchen hier im Forum
Mfg Spider
da war aber keine lösung ich habe dort schon geguckt
ich habe nur das heir gefunden und das verstehe ich nicht außerdem scheint es für winamp zu sein
#include <GUIConstants.au3>
[/autoit]#NoTrayIcon
AutoItSetOption("TrayMenuMode",1)
dim $Title,$OldTitle
dim $song
dim $hwnd
$exititem = TrayCreateItem("Exit")
TraySetState()
$hwnd = GUICreate("Winamp Tool",500,20,(@DesktopWidth-550),1,$WS_POPUP,BitOR($WS_EX_TOPMOST,$WS_EX_TOOLWINDOW))
GUISetBkColor(0xFF0000)
GUISetState()
While 1
$msg = TrayGetMsg()
Select
Case $msg = $exititem
ExitLoop
EndSelect
$OldTitle=$Title
AutoItSetOption("WinTitleMatchMode", 4)
$Title=WinGetTitle("classname=Winamp v1.x")
if $OldTitle<>$Title then
$song=ParseTitle($Title)
$rgn = CreateTextRgn($hwnd,$song,20,"Arial",1000)
SetWindowRgn($hwnd,$rgn)
EndIf
WEnd
Func ParseTitle($Title)
$loc=StringInstr($Title,". ")
$ParsedTitle=StringTrimLeft($Title,$loc+1)
$loc=StringInstr($ParsedTitle," - Winamp",0,-1)
$ParsedTitle=StringLeft($ParsedTitle,$loc)
Return $ParsedTitle
EndFunc
Func SetWindowRgn($h_win, $rgn)
DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $rgn, "int", 1)
EndFunc
;Func CombineRgn(ByRef $rgn1, ByRef $rgn2)
; DllCall("gdi32.dll", "long", "CombineRgn", "long", $rgn1, "long", $rgn1, "long", $rgn2, "int", 2)
;EndFunc
Func CreateTextRgn(ByRef $CTR_hwnd,$CTR_Text,$CTR_height,$CTR_font="Microsoft Sans Serif",$CTR_weight=1000)
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 $CTR_font = "" Then $CTR_font = "Microsoft Sans Serif"
If $CTR_weight = -1 Then $CTR_weight = 1000
Local $gdi_dll = DLLOpen("gdi32.dll")
Local $CTR_hDC= DLLCall("user32.dll","int","GetDC","hwnd",$CTR_hwnd)
Local $CTR_hMyFont = DLLCall($gdi_dll,"hwnd","CreateFont","int",$CTR_height,"int",0,"int",0,"int",0, _
"int",$CTR_weight,"int",0,"int",0,"int",0,"int",$ANSI_CHARSET,"int",$OUT_CHARACTER_PRECIS, _
"int",$CLIP_DEFAULT_PRECIS,"int",$PROOF_QUALITY,"int",$FIXED_PITCH,"str",$CTR_font )
Local $CTR_hOldFont = DLLCall($gdi_dll,"hwnd","SelectObject","int",$CTR_hDC[0],"hwnd",$CTR_hMyFont[0])
DLLCall($gdi_dll,"int","BeginPath","int",$CTR_hDC[0])
DLLCall($gdi_dll,"int","TextOut","int",$CTR_hDC[0],"int",0,"int",0,"str",$CTR_Text,"int",StringLen($CTR_Text))
DLLCall($gdi_dll,"int","EndPath","int",$CTR_hDC[0])
Local $CTR_hRgn1 = DLLCall($gdi_dll,"hwnd","PathToRegion","int",$CTR_hDC[0])
Local $CTR_rc = DLLStructCreate("int;int;int;int")
DLLCall($gdi_dll,"int","GetRgnBox","hwnd",$CTR_hRgn1[0],"ptr",DllStructGetPtr($CTR_rc))
Local $CTR_hRgn2 = DLLCall($gdi_dll,"hwnd","CreateRectRgnIndirect","ptr",DllStructGetPtr($CTR_rc))
DLLCall($gdi_dll,"int","CombineRgn","hwnd",$CTR_hRgn2[0],"hwnd",$CTR_hRgn2[0],"hwnd",$CTR_hRgn1[0],"int",$RGN_XOR)
DLLCall($gdi_dll,"int","DeleteObject","hwnd",$CTR_hRgn1[0])
DLLCall("user32.dll","int","ReleaseDC","hwnd",$CTR_hwnd,"int",$CTR_hDC[0])
DLLCall($gdi_dll,"int","SelectObject","int",$CTR_hDC[0],"hwnd",$CTR_hOldFont[0])
DLLClose($gdi_dll)
Return $CTR_hRgn2[0]
EndFunc