Frage Antwort Tread zu Autoit
-
-
Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )
sagte ich doch:
@CRLF
damit machste automatisch nen zeilenumbruch
geht doch viel einfacherthx^^
du hattest nur gesagt, dass du nicht weißt, ob es bei Inputbox geht, da hab ich dann die anderen posts gelesen und es vergessen xD
ES GEHT :DHuhu,
hätte auch eine Frage, unzwar ob es einen Befehl gibt der
nachprüft ob ein bestimmter Prozess (Dessen Name ich dann selber angeben kann)
gerade läuft oder nicht läuft, und wenn er nicht läuft das dieser dann gestartet wird.
Mfg Mangodas sollte kein prob sein...:D
ich setze mich mal hin und wenn ich fertig bin editiere ich^^"Code" C-Quellcode
- ;~ Includes
- #include <ButtonConstants.au3>
- #include <EditConstants.au3>
- #include <GUIConstantsEx.au3>
- #include <WindowsConstants.au3>
- ;~ Form
- $Form1 = GUICreate("Form1", 131, 60, 192, 114)
- ;~ Input
- $prozess = GUICtrlCreateInput("", 8, 8, 121, 21)
- ;~ Buttons
- $Button1 = GUICtrlCreateButton("Prüfen/Starten", 24, 32, 83, 25, $WS_GROUP)
- ;~ Status
- GUISetState(@SW_SHOW)
- While 1
- $nMsg = GUIGetMsg()
- Switch $nMsg
- Case $GUI_EVENT_CLOSE
- Exit
- Case $Button1
- $prozessread = GUICtrlRead($prozess)
- If ProcessExists ("" & $prozessread) Then
- MsgBox (4068, "Info", "Der Prozess läuft grade!")
- Else
- ShellExecute ("Dateiname.Dateiformat", "" , "Pfad" , "run", @SW_SHOW)
- EndIf
- EndSwitch
- WEnd
Du musst unten nurnoch Dateiname.Dateiformat ändern und den Pfad.ich streng mich so an und es klappt nich ganz und du hast es sofort xD
Hier meine Version...vllt kann mir da ja auch jmd weiterhelfen :D
"Code"
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 455, 300, 193, 125)
$Input1 = GUICtrlCreateInput("", 32, 120, 265, 21)
$Input2 = GUICtrlCreateInput("", 32, 48, 265, 21)
$Button1 = GUICtrlCreateButton("Check", 344, 48, 89, 25, 0)
$Button2 = GUICtrlCreateButton("Prozess " & GUICtrlRead($Input1) & " starten", 200, 180, 201, 25, 0)
$Button3 = GUICtrlCreateButton("Prozess suchen", 200, 150, 201, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
If WinExists(GUICtrlRead($Input1)) Then
MsgBox(1, "Prozess" & GUICtrlRead($Input1), "Der Prozess " & GUICtrlRead($Input1) & " wird bereits ausgeführt")
Not
MsgBox(1, "Prozess" & GUICtrlRead($Input1), "Der Prozess " & GUICtrlRead($Input1) & " ist nicht aktiv.")
EndIf
Case $Button3
$sufu = FileOpenDialog(GUICtrlRead($Input1),@ScriptDir,GUICtrlRead($Input1) & (*.exe))
GUICtrlSetData($Input1, $sufu)
Case $Button2
ShellExecute(GUICtrlRead($Input2))
EndSwitch
WEnd
*EDIT*:
@ Tekumi: warum nicht gleich n Input mit dem Pfad drin? ich denke nich, dass er das nur für einen Prozess machen will^^Welchen Pfad meinst du denn?
Mein Code sieht aber schöner aus, musst du zugeben :)
Funktionalität, das kommt drauf an, wer lieber wenig in der Form haben will, und eine einfache Funktionsweise, der nimmt meins. Wer mehr in der Gui haben will, aber ca die gleiche Funktion, der nimmt deins :)Hätte da auch noch eine möglichkeit:
"Code"
C-Quellcode
- #include <ButtonConstants.au3>
- #include <EditConstants.au3>
- #include <GUIConstantsEx.au3>
- #include <StaticConstants.au3>
- #include <WindowsConstants.au3>
- #Region ### START Koda GUI section ### Form=
- $Form1 = GUICreate("Prozess check", 188, 59, 203, 144, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_TOPMOST,$WS_EX_WINDOWEDGE))
- WinSetOnTop($Form1,"",1)
- $Prozessname = GUICtrlCreateInput("", 8, 8, 113, 21)
- $Check = GUICtrlCreateButton("Check", 128, 8, 59, 25, $BS_DEFPUSHBUTTON)
- $Label1 = GUICtrlCreateLabel("", 8, 40, 136, 17)
- $OT = GUICtrlCreateCheckbox("OT", 152, 40, 33, 17)
- GUICtrlSetState(-1,$Gui_CHECKED)
- GUISetState(@SW_SHOW)
- #EndRegion ### END Koda GUI section ###
- While 1
- $nMsg = GUIGetMsg()
- Switch $nMsg
- Case $GUI_EVENT_CLOSE
- Exit
- Case $OT
- If GUICtrlRead($OT) = $Gui_CHECKED Then
- WinSetOnTop($Form1,"",0)
- Else
- WinSetOnTop($Form1,"",1)
- EndIf
- Case $Check
- $Process=GUICtrlRead($Prozessname)
- If ProcessExists($Process) Then
- GUICtrlSetData($Label1,"Der Prozess ist gestartet")
- GUICtrlSetColor($Label1, 0x008000)
- Else
- GUICtrlSetData($Label1,"Der Prozess läuft nicht")
- GUICtrlSetColor($Label1, 0xFF0000)
- $Frage=MsgBox(4,"","Wollen sie die Anwendung starten?")
- If $Frage = 6 Then
- ShellExecute($Process)
- GUICtrlSetData($Label1,"Der Prozess ist gestartet")
- GUICtrlSetColor($Label1, 0x008000)
- EndIf
- EndIf
- EndSwitch
- WEnd
:wink:nomma eins xDDD
naja, da das jetzt ja geklärt ist hab ich ne frage.
Ich habe vor ein "Schere, Stein, Papier"-Spiel zu machen. Dazu sollte mein Programm nach Drücken eines Buttons per Zufall zwischen 3 Dingen auswählen. Den Rest bekomm ich hin ;-)*EDIT*
bitte entfernen, wurde wohl ausversehn 2x gepostet (kA warum ._.)Random(Min,Max,Flag)
Erklärung:
Min: die kleinste zahl
Max: die größte zahl
Flag: Unbedingt auf 1 , sonst wirds statt nem Int ein Float oder Double d.h: eine Kommazahl
bei 1 wirds ne ganze zahl
das is die func, die du brauchst
dann per if abfragen, was gewählt wurde und dann halt den restDanke, funktioniert soweit :D
Ich hab mir aber noch überlegt, dass man Punkte bekommt (Sieg = 1, Niederlage = (-1), Gleichstand = 0). Ich schaff das aber nich so ganz xD Die Punkte werden in einem Label angezeigt:
Am Anfang natürlich 0 Punkte^^:
Und dann soll die Punktzahl, also $var2 verändert werden. ($1 = 1)
Ich hab alles versucht, Klammern nicht, da, ohne "= $var2" etc... hat nicht geklappt xD Help pls^^$var2 -=1
$var2 +=1
das sind die kurzformen
so sollte es klappenHm geht immernoch nich, denke es liegt daran, dass ganz oben " $var2 = "0" " steht...
Naja, hier ma mein Script, wird sicher leicht zu fixxen sein ;-)
"Code"
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$var = Random(1, 3, 1)
$var2 = "0"
$1 = 1
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 259, 155, 193, 125)
$Schere = GUICtrlCreateButton("Schere", 32, 32, 193, 25, 0)
$Stein = GUICtrlCreateButton("Stein", 32, 64, 193, 25, 0)
$Papier = GUICtrlCreateButton("Papier", 32, 96, 193, 25, 0)
$Label1 = GUICtrlCreateLabel($var2 & " Punkte", 32, 128, 193, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Schere
If $var = 1 Then
MsgBox(1, "Sieg!", "Glückwunsch! Du hast gewonnen! Der Computer hatte Papier. 1 Punkt für dich!")
$var2 +=1
ElseIf $var = 2 Then
MsgBox(1, "Niederlage...", "Du hast leider verloren. Der Computer hatte Stein. 1 Punkt Abzug.")
$var2 -=1
ElseIf $var = 3 Then
MsgBox(1, "Gleichstand.", "Der Computer hatte Schere, genau wie du. Kein Punkt.")
EndIf
Case $Stein
If $var = 1 Then
MsgBox(1, "Sieg!", "Glückwunsch! Du hast gewonnen! Der Computer hatte Schere. 1 Punkt für dich!")
$var2 +=1
ElseIf $var = 2 Then
MsgBox(1, "Niederlage...", "Du hast leider verloren. Der Computer hatte Papier. 1 Punkt Abzug.")
$var2 -=1
ElseIf $var = 3 Then
MsgBox(1, "Gleichstand.", "Der Computer hatte Stein, genau wie du. Kein Punkt.")
EndIf
Case $Papier
If $var = 1 Then
MsgBox(1, "Sieg!", "Glückwunsch! Du hast gewonnen! Der Computer hatte Stein. 1 Punkt für dich!")
$var2 +=1
ElseIf $var = 2 Then
MsgBox(1, "Niederlage...", "Du hast leider verloren. Der Computer hatte Schere. 1 Punkt Abzug.")
$var2 -=1
ElseIf $var = 3 Then
MsgBox(1, "Gleichstand.", "Der Computer hatte Papier, genau wie du. Kein Punkt.")
EndIf
EndSwitch
WEndBerichtigt wäre es dann so:
C-Quellcode
- #include <ButtonConstants.au3>
- #include <GUIConstantsEx.au3>
- #include <WindowsConstants.au3>
- $var2 = "0"
- $1 = 1
- #Region ### START Koda GUI section ### Form=
- $Form1 = GUICreate("Form1", 259, 155, 193, 125)
- $Schere = GUICtrlCreateButton("Schere", 32, 32, 193, 25, 0)
- $Stein = GUICtrlCreateButton("Stein", 32, 64, 193, 25, 0)
- $Papier = GUICtrlCreateButton("Papier", 32, 96, 193, 25, 0)
- $Label1 = GUICtrlCreateLabel($var2 & " Punkte", 32, 128, 193, 25, 0)
- GUISetState(@SW_SHOW)
- #EndRegion ### END Koda GUI section ###
- While 1
- $nMsg = GUIGetMsg()
- Switch $nMsg
- Case $GUI_EVENT_CLOSE
- Exit
- Case $Schere
- $var = Random(1, 3, 1)
- If $var = 1 Then
- MsgBox(1, "Sieg!", "Glückwunsch! Du hast gewonnen! Der Computer hatte Papier. 1 Punkt für dich!")
- $var2 +=1
- ElseIf $var = 2 Then
- MsgBox(1, "Niederlage...", "Du hast leider verloren. Der Computer hatte Stein. 1 Punkt Abzug.")
- $var2 -=1
- If $var2 < 0 Then
- $var2=0
- EndIf
- ElseIf $var = 3 Then
- MsgBox(1, "Gleichstand.", "Der Computer hatte Schere, genau wie du. Kein Punkt.")
- EndIf
- GUICtrlSetData($Label1,$var2 & " Punkte")
- Case $Stein
- $var = Random(1, 3, 1)
- If $var = 1 Then
- MsgBox(1, "Sieg!", "Glückwunsch! Du hast gewonnen! Der Computer hatte Schere. 1 Punkt für dich!")
- $var2 +=1
- ElseIf $var = 2 Then
- MsgBox(1, "Niederlage...", "Du hast leider verloren. Der Computer hatte Papier. 1 Punkt Abzug.")
- $var2 -=1
- If $var2 < 0 Then
- $var2=0
- EndIf
- ElseIf $var = 3 Then
- MsgBox(1, "Gleichstand.", "Der Computer hatte Stein, genau wie du. Kein Punkt.")
- EndIf
- GUICtrlSetData($Label1,$var2 & " Punkte")
- Case $Papier
- $var = Random(1, 3, 1)
- If $var = 1 Then
- MsgBox(1, "Sieg!", "Glückwunsch! Du hast gewonnen! Der Computer hatte Stein. 1 Punkt für dich!")
- $var2 +=1
- ElseIf $var = 2 Then
- MsgBox(1, "Niederlage...", "Du hast leider verloren. Der Computer hatte Schere. 1 Punkt Abzug.")
- $var2 -=1
- If $var2 < 0 Then
- $var2=0
- EndIf
- ElseIf $var = 3 Then
- MsgBox(1, "Gleichstand.", "Der Computer hatte Papier, genau wie du. Kein Punkt.")
- EndIf
- GUICtrlSetData($Label1,$var2 & " Punkte")
- EndSwitch
- WEnd
Hab gleich noch eingebaut, dass man nicht ins minus gehen kann :wink:1. was hast du genau geändert?
2. es soll aber ins minus gehn xD
3. wenn ich es starte kommt immer dasselbe ergebnis (z.b. sieg), wenn ich es schließ und wieder öffne kommt ebenfalls immer dasselbe, jedoch irgendein anderes (z.b. gleichstand)
*EDIT*: 3. hat sich geklärt.
Ich glaub, ich mach es so, dass man auswählen kann, ob es ins Minus geht oder nicht^^
*EDIT2*: 1 und 2 haben sich ebenfalls geklärt. du hast lediglich "GUICtrlSetData($Label1,$var2 & " Punkte")" dazu geschrieben. Mir würde es nächstes mal mehr helfen, wenn du einfach sagen würdest "Versuch es mal mit GUICtrlSetData", aber trotzdem danke ;-D
*EDIT3*: (xD) ok, du hast das random noch überall einzeln hingeschrieben, wodurch auch verschiedene werte kommen :-)Zu 3. Ich würde vielleicht den Randomwert erhöhen und dann einen größeren Bereich bei dem If-Abfragen angeben.
2. Dafür kann ich nichts :wink: Du könntest auch mit Geld einsetzen, usw. machen
1. Ich habe außerdem das Random woanders hingemachtWeiß jemand wie ich einen Ordner löschen kann? :P
Bitte nicht: mit FileDelete jede Datei auflisten xP
Edit: Erledigt,
DirRemove ("Pfad\Ordnername", 1)
1= Alle Unterordner ebenfalls löschen
0= Nur Ordner löschen-
Teilen
- Facebook 0
- Twitter 0
- Google Plus 0
- Reddit 0
-
Benutzer online 1
1 Besucher