Hi ich wollte ein kleines Tool machen mit dem man, die IP auf dem Bildschirm groß und breit sehen kann.
Dafür wollte ich den String der IP zeichnen und per Gui $WS_EX_TOPMOST ausgeben(möchte nur den Sting ohne Fenster) .
Nur leider bleibt die IP nicht stehen, wahrscheinlich bin ich einfach zu blind den Fehler zu entdecken.
Ich habe auch schon probiert den gezeichneten String per _GDIPlus_ImageSaveToFile zu speichern und anschließend wieder aufzurufe, was leider scheiterte.
Wäre echt super wenn mir da jemand helfen könnte.
Danke im Voraus
[autoit]#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
Opt('MustDeclareVars', 1)
_IP()
[/autoit][autoit][/autoit][autoit]Func _IP()
Local $hGUI, $hGraphic, $hBrush, $hFormat, $hFamily, $hFont, $tLayout, $pic, $basti_stay, $msg
Local $aInfo, $sString, $ipstring
$sString ="Ihre IP-Adresse:" & @IPAddress1
; Erstellt eine GUI
[/autoit][autoit][/autoit][autoit][/autoit][autoit]; Zeichnet einen String
_GDIPlus_Startup()
$hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hGUI)
$hBrush = _GDIPlus_BrushCreateSolid(0xFF00007F)
$hFormat = _GDIPlus_StringFormatCreate()
$hFamily = _GDIPlus_FontFamilyCreate("Arial")
$hFont = _GDIPlus_FontCreate($hFamily, 36, 2)
$tLayout = _GDIPlus_RectFCreate(40, 110, 0, 0)
$aInfo = _GDIPlus_GraphicsMeasureString($hGraphic, $sString, $hFont, $tLayout, $hFormat)
$ipstring =_GDIPlus_GraphicsDrawStringEx($hGraphic, $sString, $hFont, $aInfo[0], $hFormat, $hBrush)
Local $sFile = $sString
[/autoit][autoit][/autoit][autoit]; Transparentes MDI Child Fenster
$pic = GUICreate("", 400, 268, 20, 20, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST), $ipstring)
; Transparentes Bild
$basti_stay = GUICtrlCreatePic($sFile, 0, 0, 169, 68)
GUISetState(@SW_SHOW)
; Ressourcen freigeben
_GDIPlus_FontDispose($hFont)
_GDIPlus_FontFamilyDispose($hFamily)
_GDIPlus_StringFormatDispose($hFormat)
_GDIPlus_BrushDispose($hBrush)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_Shutdown()
; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main
[/autoit]