GUICtrlRead und WinSetState

12/10/2009 15:16 HardCore.1337#1
Hi, ich hätte da mal eine Frage. Und zwar programmier ich grade ein Programm (Script), das ein beliebiges Programm beendet, minimiert oder maximiert.

Mein Code:
PHP Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Include <GuiEdit.au3>
#Region ### START Koda GUI section ### Form=
$Form1 GUICreate("Konfiguration"447163192124)
GUISetBkColor(0xFFFFFF)
$Group1 GUICtrlCreateGroup("HotKey"16016281137)
GUICtrlSetFont(-1104000"MS Sans Serif")
$Label1 GUICtrlCreateLabel("Fenster minimieren  -  Nummernfeld Minus"1769625120)
$Label2 GUICtrlCreateLabel("Anwendung Beenden  -  Ende"1767216720)
$Label3 GUICtrlCreateLabel("Programm Beenden  -  Escape"1764818820)
$Label4 GUICtrlCreateLabel("Fenster maximieren  -  Nummernfeld Plus"17612024620)
GUICtrlCreateGroup("", -99, -9911)
$Button1 GUICtrlCreateButton("Programm Beenden"812812325$WS_GROUP)
$Label5 GUICtrlCreateLabel("Wie heißt das Programm?"82412517)
$Input1 GUICtrlCreateInput(""84812121)
$Button2 GUICtrlCreateButton("Speichern"88012325$WS_GROUP)
GUISetState(@SW_SHOW)
$read INIRead ("C:\Settings.ini""Main""Value""")
_GUICtrlEdit_SetText($Input1$read)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit
        Case 
$Button1
            
Exit
        Case 
$Button2
            FileIniWrite
()

    EndSwitch
WEnd

$var 
GUICtrlRead ($Input1)

Func FileIniWrite ()
    
$var GUICtrlRead ($Input1)
    
IniWrite ("C:\Settings.ini""Main""Value"$var)
EndFunc

HotKeySet 
("{ESC}""Terminate")
HotKeySet ("{End}""_CLOSE")
HotKeySet ("M""MAx")
HotKeySet ("n""Min")



Func Terminate ()
    Exit 
1
EndFunc

Func _CLOSE 
()
    
WinKill ($var)
EndFunc

Func MAX 
()
    
WinSetState ($var"", @SW_SHOW)
EndFunc

Func Min 
()
    
WinSetState ($var"", @SW_HIDE)
EndFunc 
Also Fehler enstehen keine (Syntaxfehler) aber es passiert einfach nix. Hab den Code mal an Solitär probiert, aber wenn ich M oder n drücke verkleinert noch vergrößert sich das fenster. Schließen kann ich es auch nicht. Woran liegt es?

mfg
12/10/2009 15:55 .nAno#2
Die Hotkeys werden erst nach der Whileschleife eingestellt, funktionieren also nich ;)
12/10/2009 17:45 HardCore.1337#3
Danke ;)
12/10/2009 18:04 .nAno#4
np ;)
12/10/2009 18:21 HardCore.1337#5
Ich bin wohl bissel zu blöd dafür.
Das eigene Programm schließt sich, aber die Anwendung die geschlossen werden soll bleibt offen. Minimieren und maximieren geht erst gar nicht
12/10/2009 19:18 Xereon#6
Quote:
Originally Posted by General Desert View Post
Ich bin wohl bissel zu blöd dafür.
Das eigene Programm schließt sich, aber die Anwendung die geschlossen werden soll bleibt offen. Minimieren und maximieren geht erst gar nicht
Wenn sich dein Programm schließt, ist das meistens eine Folge von einen Runtime-Fehler. Guck mal in der Konsole, ob da was steht.
12/10/2009 19:47 banjo1#7
PHP Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Include <GuiEdit.au3>
#Region ### START Koda GUI section ### Form=
$Form1 GUICreate("Konfiguration"447163192124)
GUISetBkColor(0xFFFFFF)
$Group1 GUICtrlCreateGroup("HotKey"16016281137)
GUICtrlSetFont(-1104000"MS Sans Serif")
$Label1 GUICtrlCreateLabel("Fenster minimieren  -  Nummernfeld Minus"1769625120)
$Label2 GUICtrlCreateLabel("Anwendung Beenden  -  Ende"1767216720)
$Label3 GUICtrlCreateLabel("Programm Beenden  -  Escape"1764818820)
$Label4 GUICtrlCreateLabel("Fenster maximieren  -  Nummernfeld Plus"17612024620)
GUICtrlCreateGroup("", -99, -9911)
$Button1 GUICtrlCreateButton("Programm Beenden"812812325$WS_GROUP)
$Label5 GUICtrlCreateLabel("Wie heißt das Programm?"82412517)
$Input1 GUICtrlCreateInput(""84812121)
$Button3 GUICtrlCreateButton("Hotkey aktiviere"810412325$WS_GROUP)
$Button2 GUICtrlCreateButton("Speichern"88012325$WS_GROUP)
GUISetState(@SW_SHOW)
$read INIRead ("C:\Settings.ini""Main""Value""")
_GUICtrlEdit_SetText($Input1$read)
#EndRegion ### END Koda GUI section ###



While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit
        Case 
$Button1
            
Exit
        Case 
$Button2
            FileIniWrite
()
        Case 
$Button3
            Hotkey
()
    EndSwitch
WEnd


Func FileIniWrite 
()
    
$var GUICtrlRead ($Input1)
    
IniWrite ("C:\Settings.ini""Main""Value"$var)
EndFunc


Func Hotkey 
()
HotKeySet ("{ESC}""Terminate")
HotKeySet ("{End}""_CLOSE")
HotKeySet ("m""Max")
HotKeySet ("n""Min")
    
EndFunc

Func Terminate 
()
    Exit 
1
EndFunc

Func _CLOSE 
()
    
$var GUICtrlRead($Input1)
    
WinKill ($var)
EndFunc

Func Max 
()
    
$var GUICtrlRead($Input1)
    
WinSetState ($var"", @SW_MINIMIZE)
EndFunc

Func Min 
()
    
$var GUICtrlRead($Input1)
    
WinSetState ($var"", @SW_RESTORE)
EndFunc