eine anzeigen wie fraps

  • Hier mit diesem Bsp geht es auch nicht:

    Spoiler anzeigen

    #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

  • ich habe nur das heir gefunden und das verstehe ich nicht außerdem scheint es für winamp zu sein

    Spoiler anzeigen
    [autoit]

    #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


    [autoit][/autoit]

    2 Mal editiert, zuletzt von moritz1243 (1. März 2009 um 12:24)