Hi,
ich habe angefangen eine kleine GUI mit menü zu erstellen.
1. Problem
Bei dem Klick auf "Beenden" unter Datei oder auf "Über diese Software" unter Info, werden die Funktionen nicht ausgeführt.
2. Problem
Wenn die GU im Systemtray ist, soll sich die GU auch wieder mit einem Doppelklick auf das Icon öffnen.
Keine Ahnung wie ich das anstelle.
3. Problem
Minimiere ich das Fenster in den Tray, und rufe es dannach wieder über "Open" auf, ist die Gui zwar in Taskleiste aber nicht aktiviert.
Wenn ich das Fenster SChließe und anschließend wieder über "Open" gehe, ist das Fenster sichtbar wie gewohnt.
Hoffe einer weiß Rat.
Hier der Code:
[autoit]#include <GUIConstants.au3>
#NoTrayIcon
Opt("TrayMenuMode",1) ; Default tray menu items (Script Paused/Exit) will not be shown.
$openitem = TrayCreateItem("Open")
$exititem = TrayCreateItem("Exit")
TraySetIcon("Shell32.dll",14)
TraySetState()
Dim $w = 250
Dim $h = 250
Local $maingui= GUICreate("Networkchanger", $w, $h, @DesktopWidth - $w - 20, 20)
[/autoit][autoit][/autoit][autoit];Menü erstellen
$menuDatei = GUICtrlCreateMenu ("Datei")
$menuInfo = GUICtrlCreateMenu ("Info")
$menuDateiBeenden = GUICtrlCreateMenuitem("Beenden", $menuDatei)
$menuInfoAbout = GUICtrlCreateMenuitem("Über diese Software", $menuInfo)
GUICtrlSetOnEvent($menuDateiBeenden, "_Exit")
GUICtrlSetOnEvent($menuInfoAbout, "_Info")
;Buttons erstellen
$Button_1 = GUICtrlCreateButton("Networkchanger aktiviern", 5, 30, 150)
$Button_2 = GUICtrlCreateButton("Networkchanger deaktiviern", 5, 60,150)
WinSetState($mainGui, "", @SW_Show)
While 1
$msg = GUIGetMsg()
$msg2 = TrayGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
WinSetState($mainGui, "", @SW_HIDE)
Case $msg = $GUI_EVENT_MINIMIZE
WinSetState($mainGui, "", @SW_HIDE)
Case $msg = $Button_1
Run('Notepad.exe') ; Will Run/Open Notepad
Case $msg = $Button_2
MsgBox(0, 'Testing', 'Button 2 was pressed') ; Will demonstrate Button 2 being pressed
Case $msg2 = $exititem
ExitLoop
Case $msg2 = $openitem
WinSetState($mainGui, "", @SW_Show)
WinActivate($mainGui, "")
EndSelect
[/autoit][autoit][/autoit][autoit]WEnd
[/autoit][autoit][/autoit][autoit]Func _Info()
MsgBox(0, "Info", "Programmiert von Dominik Kolling, KoSi-Student")
EndFunc ;==> _Info
func _Exit()
Exit
EndFunc