Tratsch rund um Autoit / Autoit Talk | kleinere Fragen

09/13/2012 17:40 omer36#496
Quote:
Originally Posted by Lawliet! View Post
Warscheinlich gibts die Daten im Arbeitsspeicher und er will den Pointer zu der Addy. Da gehst du ganz einfach wie bei normalen Werten vor. Allerdings solltest du hier keine Hilfe bei illegalen Aktivitäten erwarten ;)
oooooooder er will einen login bot miteinbauen?
09/19/2012 16:01 skaterhacker#497
Warum bekomme ich immer wieder einen Error, dass EndSwitch kein Switch Statement hat in der GUI-Schleife? Ohne meinen Case $Button1 und so geht alles, aber mit gibt er mir den Error. Heist die GUI alleine ohne Funktionen funktioniert. Aber kaum gebe ich ein If-Command ein, geht nichts mehr.

Code:
#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.8.1
 Author:         Requi

 Script Function:
	MineCraftSP startet mit Passwort!

#ce ----------------------------------------------------------------------------

; Script Start

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("MinecraftSP", 363, 189, 307, 208)
$Input1 = GUICtrlCreateInput("", 80, 88, 161, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
$Button1 = GUICtrlCreateButton("OK!", 72, 136, 83, 41)
$Button2 = GUICtrlCreateButton("Abbrechen", 192, 136, 83, 41)
$Button3 = GUICtrlCreateButton("Info", 8, 88, 59, 25)
$Label1 = GUICtrlCreateLabel("Bitte gebe ein Passwort ein um MineCraftSP zu starten", 72, 16, 260, 17)
$Label2 = GUICtrlCreateLabel("...", 72, 48, 45, 17)
$Label3 = GUICtrlCreateLabel("Wenn du das Passwort nicht weißt, gehe zu ... oder", 72, 32, 270, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			GuiDelete("MinecraftSP")
		Case $Button1
			If GUICtrlRead($Input1) = "passwort" Then
				ShellExecute("MinecraftSP.exe")
				GUIDelete("MinecraftSP")
				Sleep(1800000)
				ProcessExists("javaw.exe")
				ProcessClose("javaw.exe")
				ProcessExists("AutoIT3.exe")
				ProcessClose("AutoIT3.exe")
			Else
				If GuiCtrlRead($Input1) = "" Then
					MsgBox(46, "Error!", "Kein oder falsches Passwort!")
			EndIf
	EndSwitch
WEnd
Es gab noch viel mehr Case, aber ich dachte zuerst es lag an denen und hab es entfernt. Hab das Script davon nicht mehr, heist müsste neu schreiben. Da es mir nur um den Error geht erstmal, hab ich es gelassen.

MfG & Thanks
09/19/2012 16:23 butter123#498
Mach aus "Else [Leerzeile] If" ein "ElseIf"
09/19/2012 16:29 skaterhacker#499
Danke läuft jetzt. Muss nur noch die ganzen GUI's und Case nochmal schreiben xDDDD

MfG
09/19/2012 16:51 lolkop#500
Code:
ProcessExists("javaw.exe")
ProcessClose("javaw.exe")
derartiger code ist nonsense. du führst eine funktion aus, welche wahr oder falsch zurück gibt, ignorierst das ergebnis und machst etwas anderes.
09/19/2012 21:02 «pacє»#501
<== skaterhacker auf Main Acc ;)

Es läuft trotzdem ohne Probleme. Hab das iwo mal gesehen ohne Then oder so und hab es im Hirn so übernommen.

pace ;)
09/19/2012 22:00 lolkop#502
Quote:
Originally Posted by «pacє» View Post
<== skaterhacker auf Main Acc ;)

Es läuft trotzdem ohne Probleme. Hab das iwo mal gesehen ohne Then oder so und hab es im Hirn so übernommen.

pace ;)
Code:
For $i=0 to 100000000000
    Sleep(100000)
Next
Send('a')
dieser code sendet auch irgendwann mal ein 'a'... das heist aber nicht, das man zum senden von 'a' IMMER diesen code nutzen sollte...
09/19/2012 22:29 Achat#503
Man sollte seine Programme/Scripte immer so übersichtlich wie möglich schreiben, denn wenn es später mal mehr wird, verliert man schnell den Überblick. Außerdem soll das Programm ja auch schnell sein (AutoIt o.O).
Daher ist es sinnvoll, unnötiges zu löschen oder neu zu schreiben.

Code:
If GUICtrlRead($Input1) = "passwort" Then
				ShellExecute("MinecraftSP.exe")
				GUIDelete("MinecraftSP")
				Sleep(1800000) ;Blockiert dein gesamtes Programm (GUI etc.)
				ProcessExists("javaw.exe") ;fail
				ProcessClose("javaw.exe")
				ProcessExists("AutoIT3.exe") ;fail
				ProcessClose("AutoIT3.exe")
			Else
				If GuiCtrlRead($Input1) = "" Then
					MsgBox(46, "Error!", "Kein oder falsches Passwort!")
			EndIf
Wenn, dann so:

If ProcessExists('$name') then ProcessClose($name)
Das kann man sich aber auch sparen, da ProcessClose @error zurück gibt, wenn der Prozess nicht existiert.
Also so:
ProcessClose($name)

MfG
09/22/2012 11:40 gouda23#504
Hey ich hab ma ne kleine Frage, weil ich nicht mehr weiter weis :D
Ich habe in autoit nen kleinen "Hack" erstellt und ne mail.exe eingefügt aber ich bekomme keine e-mails wieso? für mehr infos fragen :D
danke im vorraus
09/22/2012 14:01 butter123#505
bisschen mehr infos wären hilfreich^^ am besten wäre das skript von beiden dateien
09/22/2012 18:04 Cashblood#506
Quote:
Originally Posted by Achat View Post
Man sollte seine Programme/Scripte immer so übersichtlich wie möglich schreiben, denn wenn es später mal mehr wird, verliert man schnell den Überblick. Außerdem soll das Programm ja auch schnell sein (AutoIt o.O).
Daher ist es sinnvoll, unnötiges zu löschen oder neu zu schreiben.

Code:
If GUICtrlRead($Input1) = "passwort" Then
				ShellExecute("MinecraftSP.exe")
				GUIDelete("MinecraftSP")
				Sleep(1800000) ;Blockiert dein gesamtes Programm (GUI etc.)
				ProcessExists("javaw.exe") ;fail
				ProcessClose("javaw.exe")
				ProcessExists("AutoIT3.exe") ;fail
				ProcessClose("AutoIT3.exe")
			Else
				If GuiCtrlRead($Input1) = "" Then
					MsgBox(46, "Error!", "Kein oder falsches Passwort!")
			EndIf
Wenn, dann so:

If ProcessExists('$name') then ProcessClose($name)
Das kann man sich aber auch sparen, da ProcessClose @error zurück gibt, wenn der Prozess nicht existiert.
Also so:
ProcessClose($name)

MfG
So übersichtlich wie möglich schreiben?
Wohl eher nach dem Kopieren die Leerzeichen löschen.
09/22/2012 18:31 butter123#507
gibt es einen operator der wenn beide seiten zutreffen false zurückgibt, wenn eine zutrifft true und bei keiner false?

halt so ähnlich wie OR
09/22/2012 18:37 Der-Eddy#508
XOR-Gatter

BitXOR?
sollte zutreffen auf deine Beschreibung
10/02/2012 15:45 Achat#509
Weiß jemand, wie man eine GUI in den Hintergrund setzen kann?
So das ich die GUI als Desktophintergrund benutzen kann?
Bei Windows 7 kann man leider keine Webseiten mehr als Hintergrund festlegen.

MfG
10/02/2012 16:07 butter123#510
noch hinter die icons? ich glaube das wird schwer. screenshot vom desktop mit weißem hintergrund und an die stelle der verknüpfungen buttons setzen, weiß durchsichtig machen und dahinter dann die ie.au3 benutzen. das wär meine einzige idee