Hallo Zusammen,
Ich versuche aktuell einen Button in einer Externen Anwendung einzublenden als wäre dieser Button Teil der Anwendung.
Dieser Button soll dann anhand des Fenster Titels auf einen Ordner verlinken.
Bis jetzt habe ich den folgenden Code:
Problem was ich irgendwie nicht lösen kann ist das ich gerne diesen Button nur dann anzeigen lassen will wenn ein Fenster mit "Homework" im Titel aktiv ist. ( Es kann mehrere Fenster mit der ähnlichen Bezeichnung geben ) Wenn was anderes Aktiv ist, was nicht "Homework" soll er ausgeblendet werden.
Wenn ich bei Zeile 24 den WinSetOnTop durch den GUISetState ersetze, habe ich aber das Problem das wenn das Fenster inaktiv war und wieder aktiv wird, er sozusagen graphisch mehrmals reloaded und hängt.
Hat einer einen Tipp wie ich das anders lösen kann ?
Vielen Dank
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ColorConstants.au3>
#include <MsgBoxConstants.au3>
WinWaitActive("Homework ")
$pos_A = WinGetPos("Homework ")
$hGui = GUICreate("", 100, 25, 0,0, $WS_POPUP)
$Button = GUICtrlCreateButton("Bilder", 0, 0, 100, 25) ; Erstelle Button
GUICtrlSetBkColor($Button, $COLOR_YELLOW) ; Farbe des Buttons
GUISetState(@SW_SHOW)
AdlibRegister('_WinMove', 10)
WinSetOnTop($hGui,"",1) ; Overlay eigenschaft
Func _WinMove()
$p_A = WinGetPos("[ACTIVE]")
WinMove($hGui, "", $p_A[0]+$p_A[2] - 365, $p_A[1] + $p_A[3]-33)
EndFunc ;==>_WinMove
; Anwendung laufen lassen bis ..........
While 1
If Winactive("Homework ") then
Winsetontop($hGui,"",1) ; Overlay eigenschaft an
else
Winsetontop($hGui,"",0) ; Overlay eigenschaft aus
EndIf
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
Alles anzeigen