Button in einer GUI mit exe verknüpfen

06/18/2013 11:38 masterplc#1
Hallo und Hi,
Ich will ein Programm schreiben mit dem man einzelne Aktionen die ich regelmäßig durchführen muss (z.B Automatisch eine Email per Knopfdruck versenden usw.) und das soll halt auf einzelnen EXE Dateien basieren.Mein Ziel war es das die Anwendung mit einem Druck auf den Button in der GUI gestartet werden und die Aktionen halt durchgeführt werden.Jedoch bin ich leider noch ein Anfänger und habe 0 Ahnung wie ich das Problem lösen muss (Alle meine Versuche waren ein Schuss in den Ofen)
mfg masterplc
06/18/2013 11:58 Requi#2
Wenn du selbst sagst, dass du noch ein kompletter Anfänger bist, solltest du nicht mit so etwas großem anfangen.

Fang lieber mit erweiterten Spambots an. Mit sehr vielen Möglichkeiten.

Dann überlegst dir mal was kleineres, was du erstellen könntest.

Einfach die Grundlagen durch gehen. Die AutoIt Hilfe mit F1 nutzen.

Und mal paar Funktionen anschauen.
06/18/2013 12:07 masterplc#3
Naja das Programm wird ja auch net sooo riesig und beinhaltet nur ein paar Funktionen.Ausserdem kenne ich schon ein paar grundlegende Befehle von AutoIt und kann sie auch schon halbwegs sicher verwenden (Ein Teil der Anwendungen für die GUI ist schon geschrieben entweder in Batch, AutoIt teils sogar in C++).Also hast du eine Lösung für mein Problem? :)
06/18/2013 12:10 Requi#4
Erklär mal bitte schritt für schritt was beim Knopfdruck passieren soll :)
06/18/2013 12:22 masterplc#5
Wenn man auf den Knopf drückt dann wird eine exe/bat ausgeführt die die gewünschte Aktion durchführt z.B der Papierkorb wird geleert oder der Temp wird geleert halt so etwas.
06/18/2013 12:24 Requi#6
Asooooo. Grundlagen?

Case $Button1
ShellExecute(Pfad zum Programm)


Dafür muss die GUI aber auch mit KodA designed werden. Sonst musste alles per Hand schreiben ;)
06/18/2013 12:39 masterplc#7
Sry wenn ich mit meinen dämlichen Fragen nerve aber wo genau muss man diesen Code einsetzen?


EDIT:Irgendwie kommt die Fehlermeldung:Missing Seperator after Keyword
Woran liegt das?Liegt der Fehler bei deinem Code oder liegt es daran das ich ihn an der falschen Stelle eingesetzt habe?
06/18/2013 12:51 Requi#8
Bitte erstelle deine GUI mit KodA. Da bekommste fertigen GUI Code
Du musst nur noch die Events selbst machen.

Und zwar mit Case und der Form Objekt Variable.

Der Pfad muss als String angegeben werden zwischen ""
06/18/2013 13:01 lolkop#9
Quote:
Originally Posted by masterplc View Post
Missing Seperator after Keyword
die fehlermeldung bedeutet wohl, das ein seperator nach einem keyword fehlt <.<

schau dir doch in der autoit hilfe einfach mal die beispiele zu GUICreate() an...

ein einfacher aufbau könnte zb so aussehen:
Code:
GUICreate('Simple Tool', 200, 40, Default, Default, 0x10C80000)
$controlTempBtn = GUICtrlCreateButton('Leere TMP', 10, 10, 80, 20)
$controlTrashBtn = GUICtrlCreateButton('Leere Papierkorb', 100, 10, 90, 20)

While True
	Switch GUIGetMsg()
		Case -3
			Exit
		Case $controlTempBtn
			FileDelete(@TempDir)
		Case $controlTrashBtn
			FileRecycleEmpty()
	EndSwitch
WEnd
06/22/2013 12:12 A1C3A1B2#10
So könnte das ganze aussehen wenn du z.B. Notepad++ starten willst !

Code:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <GuiButton.au3>

$gui = GUICreate("Programm Starter",400,350,-1,-1,-1,-1)
$start = GUICtrlCreateButton("Notepad++",40,40,100,30,-1,-1)
GUISetState(@SW_SHOW,$gui)


While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $start
			ShellExecute("C:\Program Files (x86)\Notepad++\notepad++.exe")

	EndSwitch
WEnd
Aber das beste ist du probierst dich da selbst dran so wie ich es auch mache :pimp: