Hey, folgendes Problemchen.
Hab mir zum schnelleren runterfahren, neustarten und abmelden des PCs so ne Art ausklappbare Seitenleiste
zusammen gezimmert. Die fährt halt aus wenn der Curser in die nähe des Fensters kommt und verschwindet ansonsten bis auf ein
paar Pixel im Rand. Nix aufregendes also, erleichtert mir aber ein wenig den Altag
Nun ist es aber leider so, dass sobald ich bei Win 10 ganz unten rechts den Button klicke
mit dem alle offenen Fenster minimiert werden (weiß nich wie das Teil heißt, rechts neben der Uhr halt...)
verschwindet auf diese Leiste... und sie hat vor je wieder auf zu tauchen
Hier der Code. (Nich wundern, is grauenhaft geschrieben, aber dieses UNgetüm sollte auch eigl. nie das Tageslicht erblicken ^^)
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
Opt("TrayMenuMode", 1)
Global $mPosX = @DesktopWidth-120
Global $mPosYmin = @DesktopHeight/2-110
Global $mPosYmax = @DesktopHeight/2+190
Global $mState = 1
Global $abort = 0
$Form1 = GUICreate("", 120, 300, @DesktopWidth-20, @DesktopHeight/2-110, $WS_POPUP, $WS_EX_TOOLWINDOW)
GUISetFont(10, 800, 0, "Arial Black")
GUISetBkColor (0x524d49)
$Button1 = GUICtrlCreateButton("AUSCHALTEN", 0, 0, 120, 75, $WS_BORDER)
GUICtrlSetState (-1, 32)
GUICtrlSetBkColor (-1, 0x9c938b)
$Button2 = GUICtrlCreateButton("NEUSTARTEN", 0, 75, 120, 75, $WS_BORDER)
GUICtrlSetState (-1, 32)
GUICtrlSetBkColor (-1, 0x9c938b)
$Button3 = GUICtrlCreateButton("ABMELDEN", 0, 150, 120, 75, $WS_BORDER)
GUICtrlSetState (-1, 32)
GUICtrlSetBkColor (-1, 0x9c938b)
$Button4 = GUICtrlCreateButton("ABDUNKELN", 0, 225, 120, 75, $WS_BORDER)
GUICtrlSetState (-1, 32)
GUICtrlSetBkColor (-1, 0x9c938b)
$Tray1 = TrayCreateItem ("EXIT")
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
$nTray = TrayGetMsg()
Switch $nMsg
Case $Button1
_Shutdown (5, $Button1)
Case $Button2
_Shutdown (6, $Button2)
Case $Button3
_Shutdown (4, $Button3)
Case $Button4
_GetBlack ()
EndSwitch
Switch $nTray
Case $Tray1
Exit
EndSwitch
_CheckMousePos ()
WEnd
Func _CheckMousePos ()
If MouseGetPos(0) >= $mPosX AND MouseGetPos(1) >= $mPosYmin AND MouseGetPos(1) <= $mPosYmax Then
If $mState = 0 Then
WinMove ($Form1, "", @DesktopWidth-120, @DesktopHeight/2-110)
GUISetBkColor (0x736C66)
GUICtrlSetState ($Button1, 16)
GUICtrlSetState ($Button2, 16)
GUICtrlSetState ($Button3, 16)
GUICtrlSetState ($Button4, 16)
$mState = 1
EndIf
Else
If $mState = 1 Then
WinMove ($Form1, "", @DesktopWidth-20, @DesktopHeight/2-110)
GUISetBkColor (0x524d49)
GUICtrlSetState ($Button1, 32)
GUICtrlSetState ($Button2, 32)
GUICtrlSetState ($Button3, 32)
GUICtrlSetState ($Button4, 32)
$mState = 0
EndIf
EndIf
EndFunc
Func _Shutdown ($para1, $para2)
GUICtrlSetBkColor ($para2, 0xcc3600)
HotKeySet ("{ESC}", "_abort")
For $i = 1 To 5 Step 1
If $abort = 1 Then ExitLoop
Beep (500, 250)
Sleep (750)
If $i = 5 Then
HotKeySet ("{ESC}")
Beep (500, 1000)
Shutdown ($para1)
EndIf
Next
$abort = 0
GUICtrlSetBkColor ($para2, 0x9c938b)
EndFunc
Func _abort ()
$abort = 1
Beep (750, 100)
Sleep (100)
Beep (750, 100)
Sleep (100)
Beep (750, 100)
HotKeySet ("{ESC}")
EndFunc
Func _GetBlack ()
$BlackWin = GUICreate ("", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, $WS_EX_TOOLWINDOW)
GUISetBkColor (0)
GUICtrlCreateLabel ("<<< Bildschirm abgedunkelt >>>" & @CRLF & "ESC zum beenden", @DesktopWidth/2-250, 100, 500, 100, $SS_CENTER)
GUICtrlSetFont(-1, 10, 800, 0, "Arial Black")
GUICtrlSetColor (-1, 0xFFFFFF)
GUISetState (@SW_SHOW)
HotKeySet ("{ESC}", "_abort")
While 1
If $abort = 1 Then
$abort = 0
GUIDelete ($BlackWin)
ExitLoop
EndIf
WEnd
EndFunc
Alles anzeigen
((Will mir jemand verraten wie man hier AutoIt Code einfügt? o.O))
Nun hab ich schon mit WinActivate und WinSetState und den entsprechenden Parametern versucht das Fenster wieder sichtbar zu machen, bisher leider ohne Erfolg.
Einzig "WinSetState ($Form1, "", @SW_MAXIMIZE)" hat das Fenster wieder erscheinen lassen, allerdings übern ganzen Bildschirm verteilt, was jetz nich so Sinn der Sache war
Vielleicht hat ja einer von Euch ne rettende Idee
Würd mir auch bei einigen anderen Helferlein weiter helfen, die altuell u.a. deswegen auf Eis liegen.