Hallo Forum,
ich habe mir gedacht, da ich ja in letzer Zeit nur Fragen stelle und nichts
zurück gebe mache ich mal eine Anleitung wie man Befehle einsetzen kann,
wenn man in einer "GUICtrlCreateInput" einen Befehl eingibt und er gibt es
wieder :x
So, nun zu meiner Lernsource.
Damit wir alles angezeigt bekommen müssen wir als ersten die include's
benutzen :
#include <Inet.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <GUIConstants.au3>
Ich habe aber auch ein paar HotKeySet's benutzt.
Einmal, damit wenn man enter drückt auch was passirt(Enter = Button ersatz "Senden") :
Mit Esc soll man das Programm Beenden können und mit F2 soll man die Befehle bekommen
Also müsste das jetzt so aussehen :
HotKeySet ("{Enter}","_Func")
HotKeySet ("{Esc}","_exit")
HotKeySet ("{F2}","_Befehle")
#include <Inet.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <GUIConstants.au3>
Alles anzeigen
Gut, jetzt müssen wir noch für später 2 Variablen definieren.
So weit so gut :P
Natürlich brauchen wir auch noch eine Gui, meine ist mit Koda erstellt.
GUICreate("Volux", 378, 306, 423, 269)
$Input1 = GUICtrlCreateInput("", 0, 8, 377, 21)
$Edit1 = GUICtrlCreateEdit("", 0, 32, 377, 273)
$Menu1 = GUICtrlCreateMenu ("Volux")
$Item1 = GUICtrlCreateMenuItem ("Befehle | F2",$Menu1)
$Item3 = GUICtrlCreateMenuItem ("",$Menu1)
$Item4 = GUICtrlCreateMenuItem ("Exit | Esc",$Menu1)
$Menu2 = GUICtrlCreateMenu ("?")
$Item5 = GUICtrlCreateMenuItem ("About",$Menu2)
GUISetState(@SW_SHOW)
Jetzt haben wir schon mal HotkeySet's,Include's, Variablen und die Gui definiert.
Ich habe meine Gui einfach mal "Volux" getauft, da mir nichts anderes
eingefallen ist und ich Velux von meinem Fenster abgelesen habe xD
Ihr könnt euch natürlich was besseres einfallen lassen...
Nun brauchen wir eine Schleife für die MenuItems, genau eine While 1 :D
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Item1
_Befehle ()
Case $Item5
MsgBox (0," About "," (c) 2010 Takezo Kensei ")
Case $Item4
Exit
EndSwitch
WEnd
Alles anzeigen
Zu $Item 1 später mehr.
Wie ihr wisst kommen die Funktionen zum Schluss, also jetzt kommen
wir dazu die Befehle zu definieren. Als ersten könnt ihr Copy & Past
machen, da ich unten noch schreibe, wie man neue Befehle dazu schreibt.
Func _Func ()
GuiCtrlRead ($Input1)
If GuiCtrlRead ($Input1) = "#IpAdress" Then
MemoWrite ("Deine Ip Adresse ist : "& _GetIP ())
EndIf
If GuiCtrlRead ($Input1) = "#PCName" Then
MemoWrite ("Dein PC hat den Namen : "& @ComputerName)
EndIf
If GuiCtrlRead ($Input1) = "#UserName" Then
MemoWrite ("Dein Benutzer Name ist : "& @UserName)
EndIf
If GuiCtrlRead ($Input1) = "#ServicePack" Then
MemoWrite ("Du hast folgenes Service Pack Installiert : "& @OSServicePack)
EndIf
If GuiCtrlRead ($Input1) = "#TotalSpace" Then
MemoWrite ("Gesammter Speicher : "& $Total)
EndIf
If GuiCtrlRead ($Input1) = "#FreeSpace" Then
MemoWrite ("Freier Speicher : "& $Free)
EndIf
If GuiCtrlRead ($Input1) = "#Pixels" Then
MemoWrite ("Höhe :" &@DesktopHeight& " Weite :"& @DesktopWidth )
EndIf
If GuiCtrlRead ($Input1) = "#Date" Then
MemoWrite ("Heute ist der : " & @MDAY&"." & @MON &"."& @YEAR )
EndIf
If GuiCtrlRead ($Input1) = "#Time" Then
MemoWrite ("Es ist : " & @HOUR&":" & @MIN &":"& @SEC )
EndIf
If GuiCtrlRead ($Input1) = "#Shutdown" Then
MemoWrite ("5")
Sleep (1000)
MemoWrite ("4")
Sleep (1000)
MemoWrite ("3")
Sleep (1000)
MemoWrite ("2")
Sleep (1000)
MemoWrite ("1")
Sleep (1000)
Shutdown (0)
EndIf
If GuiCtrlRead ($Input1) = "#Processlist" Then
$list = ProcessList()
for $i = 1 to $list[0][0]
MemoWrite($list[$i][0])
next
EndIf
If GuiCtrlRead ($Input1) = "#About" Then
MemoWrite ("Dieses Tool wurde in Autoit geschrieben von Takezo Kensei")
EndIf
If GuiCtrlRead ($Input1) = "#ScanUpdate" Then
MemoWrite ("Es gibt kein Update")
EndIf
EndFunc
Alles anzeigen
Wenn ihr jetzt alles Kopiert haben solltet, sollte es so aussehen :
Alles Bis Jetzt
HotKeySet ("{Enter}","_Func")
HotKeySet ("{Esc}","_exit")
HotKeySet ("{F2}","_Befehle")
#include <Inet.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <GUIConstants.au3>
$TOTAL = DriveSpaceTotal("C:\")
$FREE = DriveSpaceFree("C:\")
GUICreate("Volux Client", 378, 306, 423, 269)
$Input1 = GUICtrlCreateInput("", 0, 8, 377, 21)
$Edit1 = GUICtrlCreateEdit("", 0, 32, 377, 273)
$Menu1 = GUICtrlCreateMenu ("Volux")
$Item1 = GUICtrlCreateMenuItem ("Befehle | F2",$Menu1)
$Item3 = GUICtrlCreateMenuItem ("",$Menu1)
$Item4 = GUICtrlCreateMenuItem ("Exit | Esc",$Menu1)
$Menu2 = GUICtrlCreateMenu ("?")
$Item5 = GUICtrlCreateMenuItem ("About",$Menu2)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Item1
_Befehle ()
Case $Item5
MsgBox (0," About "," (c) 2010 Takezo Kensei ")
Case $Item4
Exit
EndSwitch
WEnd
Func _Func ()
GuiCtrlRead ($Input1)
If GuiCtrlRead ($Input1) = "#IpAdress" Then
MemoWrite ("Deine Ip Adresse ist : "& _GetIP ())
EndIf
If GuiCtrlRead ($Input1) = "#PCName" Then
MemoWrite ("Dein PC hat den Namen : "& @ComputerName)
EndIf
If GuiCtrlRead ($Input1) = "#UserName" Then
MemoWrite ("Dein Benutzer Name ist : "& @UserName)
EndIf
If GuiCtrlRead ($Input1) = "#ServicePack" Then
MemoWrite ("Du hast folgenes Service Pack Installiert : "& @OSServicePack)
EndIf
If GuiCtrlRead ($Input1) = "#TotalSpace" Then
MemoWrite ("Gesammter Speicher : "& $Total)
EndIf
If GuiCtrlRead ($Input1) = "#FreeSpace" Then
MemoWrite ("Freier Speicher : "& $Free)
EndIf
If GuiCtrlRead ($Input1) = "#Pixels" Then
MemoWrite ("Höhe :" &@DesktopHeight& " Weite :"& @DesktopWidth )
EndIf
If GuiCtrlRead ($Input1) = "#Date" Then
MemoWrite ("Heute ist der : " & @MDAY&"." & @MON &"."& @YEAR )
EndIf
If GuiCtrlRead ($Input1) = "#Time" Then
MemoWrite ("Es ist : " & @HOUR&":" & @MIN &":"& @SEC )
EndIf
If GuiCtrlRead ($Input1) = "#Shutdown" Then
MemoWrite ("5")
Sleep (1000)
MemoWrite ("4")
Sleep (1000)
MemoWrite ("3")
Sleep (1000)
MemoWrite ("2")
Sleep (1000)
MemoWrite ("1")
Sleep (1000)
Shutdown (0)
EndIf
If GuiCtrlRead ($Input1) = "#Processlist" Then
$list = ProcessList()
for $i = 1 to $list[0][0]
MemoWrite($list[$i][0])
next
EndIf
If GuiCtrlRead ($Input1) = "#About" Then
MemoWrite ("Dieses Tool wurde in Autoit geschrieben von Takezo Kensei")
EndIf
If GuiCtrlRead ($Input1) = "#ScanUpdate" Then
MemoWrite ("Es gibt kein Update")
EndIf
EndFunc
Alles anzeigen
Wir haben auch eine Funktion _exit eingebaut ( siehe oben )
dazu hier die passende Definition.
So jetzt noch die Funktion _Befehle, sie soll alle Befehle anzeigen.
Func _Befehle ()
GUICreate("Befehle", 178, 241, 525, 353)
GUICtrlCreateLabel("#PcName", 8, 8, 52, 17)
GUICtrlCreateLabel("#UserName", 8, 24, 61, 17)
GUICtrlCreateLabel("#ServicePack", 8, 40, 72, 17)
GUICtrlCreateLabel("#TotalSpace", 8, 56, 66, 17)
GUICtrlCreateLabel("#FreeSpace", 8, 72, 63, 17)
GUICtrlCreateLabel("#IpAdress", 8, 88, 52, 17)
GUICtrlCreateLabel("#Pixels", 8, 104, 38, 17)
GUICtrlCreateLabel("#Date", 8, 120, 34, 17)
GUICtrlCreateLabel("#Time", 8, 136, 34, 17)
GUICtrlCreateLabel("#Shutdown", 8, 184, 59, 17)
GUICtrlCreateLabel("#Processlist", 8, 168, 76, 17)
GUICtrlCreateLabel("#About", 8, 200, 39, 17)
GUICtrlCreateLabel("#ScanUpdate", 8, 152, 125, 17)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
EndFunc
Alles anzeigen
Jetzt fehlt nur noch eines, Func MemoWrite($sMessage = " ")
Dazu unten im How to Neue Befehle einsetzten mehr :
Jetzt sind wir fertig und alles sollte so aussehen :
Fertig :D
HotKeySet ("{Enter}","_Func")
HotKeySet ("{Esc}","_exit")
HotKeySet ("{F2}","_Befehle")
#include <Inet.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <GUIConstants.au3>
$TOTAL = DriveSpaceTotal("C:\")
$FREE = DriveSpaceFree("C:\")
GUICreate("Volux Client", 378, 306, 423, 269)
$Input1 = GUICtrlCreateInput("", 0, 8, 377, 21)
$Edit1 = GUICtrlCreateEdit("", 0, 32, 377, 273)
$Menu1 = GUICtrlCreateMenu ("Volux")
$Item1 = GUICtrlCreateMenuItem ("Befehle | F2",$Menu1)
$Item3 = GUICtrlCreateMenuItem ("",$Menu1)
$Item4 = GUICtrlCreateMenuItem ("Exit | Esc",$Menu1)
$Menu2 = GUICtrlCreateMenu ("?")
$Item5 = GUICtrlCreateMenuItem ("About",$Menu2)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Item1
_Befehle ()
Case $Item5
MsgBox (0," About "," (c) 2010 Takezo Kensei ")
Case $Item4
Exit
EndSwitch
WEnd
Func _Func ()
GuiCtrlRead ($Input1)
If GuiCtrlRead ($Input1) = "#IpAdress" Then
MemoWrite ("Deine Ip Adresse ist : "& _GetIP ())
EndIf
If GuiCtrlRead ($Input1) = "#PCName" Then
MemoWrite ("Dein PC hat den Namen : "& @ComputerName)
EndIf
If GuiCtrlRead ($Input1) = "#UserName" Then
MemoWrite ("Dein Benutzer Name ist : "& @UserName)
EndIf
If GuiCtrlRead ($Input1) = "#ServicePack" Then
MemoWrite ("Du hast folgenes Service Pack Installiert : "& @OSServicePack)
EndIf
If GuiCtrlRead ($Input1) = "#TotalSpace" Then
MemoWrite ("Gesammter Speicher : "& $Total)
EndIf
If GuiCtrlRead ($Input1) = "#FreeSpace" Then
MemoWrite ("Freier Speicher : "& $Free)
EndIf
If GuiCtrlRead ($Input1) = "#Pixels" Then
MemoWrite ("Höhe :" &@DesktopHeight& " Weite :"& @DesktopWidth )
EndIf
If GuiCtrlRead ($Input1) = "#Date" Then
MemoWrite ("Heute ist der : " & @MDAY&"." & @MON &"."& @YEAR )
EndIf
If GuiCtrlRead ($Input1) = "#Time" Then
MemoWrite ("Es ist : " & @HOUR&":" & @MIN &":"& @SEC )
EndIf
If GuiCtrlRead ($Input1) = "#Shutdown" Then
MemoWrite ("5")
Sleep (1000)
MemoWrite ("4")
Sleep (1000)
MemoWrite ("3")
Sleep (1000)
MemoWrite ("2")
Sleep (1000)
MemoWrite ("1")
Sleep (1000)
Shutdown (0)
EndIf
If GuiCtrlRead ($Input1) = "#Processlist" Then
$list = ProcessList()
for $i = 1 to $list[0][0]
MemoWrite($list[$i][0])
next
EndIf
If GuiCtrlRead ($Input1) = "#About" Then
MemoWrite ("Dieses Tool wurde in Autoit geschrieben von Takezo Kensei")
EndIf
If GuiCtrlRead ($Input1) = "#ScanUpdate" Then
MemoWrite ("Es gibt kein Update")
EndIf
EndFunc
Func _exit()
Exit
EndFunc
Func _Befehle ()
GUICreate("Befehle", 178, 241, 525, 353)
GUICtrlCreateLabel("#PcName", 8, 8, 52, 17)
GUICtrlCreateLabel("#UserName", 8, 24, 61, 17)
GUICtrlCreateLabel("#ServicePack", 8, 40, 72, 17)
GUICtrlCreateLabel("#TotalSpace", 8, 56, 66, 17)
GUICtrlCreateLabel("#FreeSpace", 8, 72, 63, 17)
GUICtrlCreateLabel("#IpAdress", 8, 88, 52, 17)
GUICtrlCreateLabel("#Pixels", 8, 104, 38, 17)
GUICtrlCreateLabel("#Date", 8, 120, 34, 17)
GUICtrlCreateLabel("#Time", 8, 136, 34, 17)
GUICtrlCreateLabel("#Shutdown", 8, 184, 59, 17)
GUICtrlCreateLabel("#Processlist", 8, 168, 76, 17)
GUICtrlCreateLabel("#About", 8, 200, 39, 17)
GUICtrlCreateLabel("#ScanUpdate", 8, 152, 125, 17)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
EndFunc
Func MemoWrite($sMessage = "")
GUICtrlSetData($Edit1, $sMessage & @CRLF, 1)
EndFunc
Alles anzeigen
How to: Neue Befehle Hinzufügen
Hier ein Normaler Befehl, wie ich ihn verwendet habe :
If GuiCtrlRead ($Input1) = "#About" Then
MemoWrite ("Dieses Tool wurde in Autoit geschrieben von Takezo Kensei")
EndIf
Er ist so aufgebaut :
If GuiCtrlRead ($Input1) = "#About" Then ; Eine If Schleife ( wozu die da ist, sollte klar sein) GuiCtrlRead ($Input1) Bedeutet er ließt die InputBox aus.
Wenn der Inhalt = "#About" ist Then, dann
MemoWrite ("Dieses Tool wurde in Autoit geschrieben von Takezo Kensei")
Soll er den Inhalt in die EditBox Schreiben.
Dazu war auch die letzte Funktion da, damit er dies auch in die EditBox schreibt.
Wenn etwas nicht klar ist, dann einafch das Problem melden.
Ich will Dieses Tut nicht in einem anderen Forum sehen !
Schlusswort : Ich arbeite gerade an einem Befehl der einen Process "killt", habe damit aber noch
Probleme, also bitte abwarten :P
lg♥ Kensei