Frage um Text auf Bildschrim zu bringen

  • Hallo erstmal :D

    ich wollte fragen ob es mit autoit möglich ist etwas auf den Bildschirm zu schreiben/zeichnen wenn das Skript nicht die aktuelle Anwendung ist zB wie bei Fraps was die fps in die Bildschirmecke zeichnet.

  • ja ist möglich über dllcalls - bzw habe ich bei einem winampdings gesehen
    sollte mal jemand von den profis beantworten
    ich weiß nur, dass es möglich ist

  • Zitat

    Original von leviathan
    ja ist möglich über dllcalls - bzw habe ich bei einem winampdings gesehen
    sollte mal jemand von den profis beantworten
    ich weiß nur, dass es möglich ist


    ja ist es du müssest nur genau erklären du haben willst..kapier das nicht ganz...
    und schau die mal splashtexton an....vll ist das ja was du suchst....

    snooozer

  • naja das mit splashtexton ist nicht so ganz das was ich suche es sollte halt kein eigenes fenster sein sondern nur den text auf den bildschirm schreiben wenn ein bestimmtes fenster gerade offen ist(das mit dem fenster das gerade offen ist aber nicht das problem)

  • Ich weiß nicht genau, ob es das ist was du suchst,

    aber vll ist es ja
    ToolTip ? ;)

    Oder soll es eine riesengroße Nachricht in pink mit blauen Streifen sein ?
    :D


    noels =)

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

  • ich hab sowas gemeint:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #NoTrayIcon

    [/autoit] [autoit][/autoit] [autoit]

    AutoItSetOption("TrayMenuMode",1)
    dim $Title,$OldTitle
    dim $song
    dim $hwnd

    [/autoit] [autoit][/autoit] [autoit]

    $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()

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    ;Func CombineRgn(ByRef $rgn1, ByRef $rgn2)
    ; DllCall("gdi32.dll", "long", "CombineRgn", "long", $rgn1, "long", $rgn1, "long", $rgn2, "int", 2)
    ;EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    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]

    so mal in nen Spoiler getüdelt - und ich denke es ist genau das, was er will

    Einmal editiert, zuletzt von leviathan (1. Juni 2007 um 19:18)

  • leviathan danke das war das was ich gesucht hab :D


    Edit BugFix: Ist das gewollter Wortwitz in deiner Signatur ? (Tropen statt Tropfen ?)

    Edit Michi :D: klar war das gewollt :D ne danke habs schon ausgebessert xD

    Edit BugFix: Na dann is ja gut. :D In diesem Sinne :tassen:

    Edit Michi :D: prost :tassen:

    Edit Michi :D: ihr spammt hier doch nur weil ihr ihr auch ein bier wollt, hier bitte: :tassen:

    4 Mal editiert, zuletzt von Michi :D (2. Juni 2007 um 18:11)

  • [offtopic]

    Zitat

    Original von leviathan
    wtf ihr hab auch nichts besseres zu tun wa?


    neeeeeeeeeeeeeeeeeeeeeeeeeeeeeee^^
    grad werbung im tv....^^

    sry[/offtopic]
    :D
    snoozer

  • snoozer

    Wieso Werbung? Es ist doch eine Verbraucherinformation die immer durch uralte Filme unterbrochen. :)

    Aber ich glaube ich schaue heute SAW1 bis 3

    Lina

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Zitat

    Original von Alina
    snoozer

    Wieso Werbung? Es ist doch eine Verbraucherinformation die immer durch uralte Filme unterbrochen. :)

    Aber ich glaube ich schaue heute SAW1 bis 3

    Lina


    [offtopic]
    ich glaub dieser thread wird zum offtopic thread :P^^
    ahh na denn halt verbraucherinformatinen trotzdem langweilig....^^

    wollen wa die filme zusammen schauen :P
    bei mir oder dir?? hihi nein spaß ;)
    ende jetzt mit spamen dieses threades....


    snoozy