Autoit Editbox beschreiben.

01/19/2012 20:50 Crack-7#1
Ich möchte einen Prank virus machen, in welchem eine Editbox ist.

In dieser Editbox möchte ich sachen schreiben wie: "Ich bin der schlimmste virus den es gibt."

So.

Ist es nun möglich, dass ich diesen text buchstabe für buchstabe reinsetze?

Also dass es so aussieht, als würde es von hand geschrieben werden?
01/19/2012 20:55 butter123#2
Ja es ist möglich.

So eigentlich wollte ich jetzt aufhören :D

Weiß leider nicht mehr genau wied er Befehl heißt. Such mal GuiCtrlSetData() Oder SetStatus oder irgendwie sowas^^
01/19/2012 21:07 Crack-7#3
Quote:
Originally Posted by butter123 View Post
Ja es ist möglich.

So eigentlich wollte ich jetzt aufhören :D

Weiß leider nicht mehr genau wied er Befehl heißt. Such mal GuiCtrlSetData() Oder SetStatus oder irgendwie sowas^^
Das kenne ich schon xD

Aber dann steht der text sofort in der editbox.

Ich möchte aber, dass er den text buchstabe für buchstabe reinschreibt.

Hackerstil eben ^^

Ich dachte mir eine funktion schreiben, welches den text splittet, und dann buchstabe für buchstabe zusammensetzt und reinschreibt.

Aber bin erstmal alteriwnet zocken ^^
01/19/2012 21:28 Buffmebuffyou#4
Also, für sowas braucht man eine Schleife, ich schreib ma schnell ein Beispiel und editiers hier dann rein. ;P

Edit:
Code:
#include <GUIConstants.au3>

$Form = GUICreate("", 300, 300)
$Edit = GUICtrlCreateEdit("", 10, 10, 280, 280)

GUISetState()

_Write($Edit, "Test asdf asdf asdf asdf asdf")

While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			ExitLoop
	EndSwitch
WEnd

Func _Write($Handle, $Data, $Start = 1, $Sleep = 50)
	For $i = $Start To StringLen($Data)
		GUICtrlSetData($Handle, StringMid($Data, 1, $i))
		Sleep($Sleep)
	Next
EndFunc
Also, mit der Funktion _Write kannst du nun etwas "schreiben" lassen.

Parameter
$Handle: Edit-Handle
$Data: zu schreibender Text
$Start: bei welchem Buchstaben beginnen
$Sleep: Pause zwischen "Tastendruck"
01/19/2012 21:33 xShizoidx#5
_GUICtrlEdit_AppendText
und zwischendurch paar Sleeps reinbauen.

Mit freundlichen Grüßen,

Netterwurm8
01/19/2012 21:46 Crack-7#6
Quote:
Originally Posted by Buffmebuffyou View Post
Also, für sowas braucht man eine Schleife, ich schreib ma schnell ein Beispiel und editiers hier dann rein. ;P

Edit:
Code:
#include <GUIConstants.au3>

$Form = GUICreate("", 300, 300)
$Edit = GUICtrlCreateEdit("", 10, 10, 280, 280)

GUISetState()

_Write($Edit, "Test asdf asdf asdf asdf asdf")

While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			ExitLoop
	EndSwitch
WEnd

Func _Write($Handle, $Data, $Start = 1, $Sleep = 50)
	For $i = $Start To StringLen($Data)
		GUICtrlSetData($Handle, StringMid($Data, 1, $i))
		Sleep($Sleep)
	Next
EndFunc
Also, mit der Funktion _Write kannst du nun etwas "schreiben" lassen.

Parameter
$Handle: Edit-Handle
$Data: zu schreibender Text
$Start: bei welchem Buchstaben beginnen
$Sleep: Pause zwischen "Tastendruck"
Wow danke :O

Bei mir würde die funktion sicherlich größer ausfallen ^^

Kann closed werden ^^
01/19/2012 22:22 lolkop#7
das ganze könnte man auch einfacher über controlsend machen.

wenn man es aber über eine schleife macht, dann doch bitte wenigstens ohne sleep, da hierdruch ja das gui blockiert wird^^
01/19/2012 22:38 Buffmebuffyou#8
Quote:
Originally Posted by lolkop View Post
das ganze könnte man auch einfacher über controlsend machen.

wenn man es aber über eine schleife macht, dann doch bitte wenigstens ohne sleep, da hierdruch ja das gui blockiert wird^^
Les dir den Thread nochmal durch und dann denk nach.
Dein Post hier ist unsinnig...

1. Sleep wird benötigt, da er Tastendrücke vortäuschen will (und ja da braucht man Pausen, weil ja niemand so schnell schreibt)
2. ControlSend sendet Tastendrücke an ein Fenster, wozu braucht er das? Er kann doch einfach das Edit Control normal beschreiben. Klar kann man das mit ControlSend auch, ist aber total umständlich und unsinnig.
01/19/2012 23:02 lolkop#9
Quote:
Originally Posted by Buffmebuffyou View Post
1. Sleep wird benötigt, da er Tastendrücke vortäuschen will (und ja da braucht man Pausen, weil ja niemand so schnell schreibt)
pausen braucht man keinesfalls. das ganze muss einfach getimt ablaufen. eine pause für das script bedeutet, das nichts mehr verarbeitet wird.

Quote:
Originally Posted by Buffmebuffyou View Post
2. ControlSend sendet Tastendrücke an ein Fenster, wozu braucht er das? Er kann doch einfach das Edit Control normal beschreiben. Klar kann man das mit ControlSend auch, ist aber total umständlich und unsinnig.
ControlSend arbeitet den eingabestring buchstabe für buchstabe ab. das delay ist in autoit hierbei frei einstellbar. das ist meiner meinung nach exakt das, was der threadersteller hier wollte.
die einfachste variante als umständlich und unsinnig zu bezeichnen finde ich etwas unprofessionell von dir.

davon abgesehen erfüllt dein script nichteinmal seine anforderungen, da der bisherige inhalt vom edit bei dir nicht berücksichtigt wird.

ich denke wenn man in einem forum etwas postet, so sollte man immer aufpassen, wie man sich gegenüber anderen usern (welche eventuell verbesserungsvorschläge haben) verhält. es gibt immer mehr als einen weg zum ziel. manche mögen auf den ersten blick umständlich oder ineffizient wirken, dennoch sollte man sich überlegen, warum die wege trotzdem genutzt/angesprochen werden.
01/19/2012 23:10 Crack-7#10
Quote:
Originally Posted by lolkop View Post
pausen braucht man keinesfalls. das ganze muss einfach getimt ablaufen. eine pause für das script bedeutet, das nichts mehr verarbeitet wird.



ControlSend arbeitet den eingabestring buchstabe für buchstabe ab. das delay ist in autoit hierbei frei einstellbar. das ist meiner meinung nach exakt das, was der threadersteller hier wollte.
die einfachste variante als umständlich und unsinnig zu bezeichnen finde ich etwas unprofessionell von dir.

davon abgesehen erfüllt dein script nichteinmal seine anforderungen, da der bisherige inhalt vom edit bei dir nicht berücksichtigt wird.

ich denke wenn man in einem forum etwas postet, so sollte man immer aufpassen, wie man sich gegenüber anderen usern (welche eventuell verbesserungsvorschläge haben) verhält. es gibt immer mehr als einen weg zum ziel. manche mögen auf den ersten blick umständlich oder ineffizient wirken, dennoch sollte man sich überlegen, warum die wege trotzdem genutzt/angesprochen werden.
Tut mir leid aber deine variante ist nicht ganz das was ich wollte ^^

Ich möchte nämlich folgendes machen.

Ein Script, dass ein Fenster öffnet in welchem ein Jigsaw bild zu sehen ist.

[Only registered and activated users can see links. Click Here To Register...]

Das Script setzt eine MouseTrap, dass die maus nur innerhalb des fensters bewegbar ist.

Dann soll in einer editbox etwas geschrieben werden.

Und es soll aussehen, als würde ein mensch es schreiben.

Und der nutzer des scripts soll diesen schreibvorgang nicht beenden können.

Und durch controlsend, würde ja alles was der nutzer eintippt auch dort stehen.

Ich möchte nämlich ein Jigsaw spiel machen, in welchem der nutzer irwo auf der festplatte innerhalb einer bestimmten zeit eine .txt mit einem passwort suchen muss, und das passwort eingeben.

Wenn er das richtige eingegeben hat, gehts weiter im spiel.

Wenn er verliert, soll der pc runtergefahren werden ^^

Ich habe mir jetzt aber überlegt es anders zu machen.

Ich mache eine gif von Jigsaw im fernsehen, und nehme meine verzerrte stimme auf, wo ich einfach spreche.

Dass kommt viel unheimlicher rüber ^^

Wer mir bei dem "projekt" helfen will, kann sich bei mir melden ^^


Im moment sieht das script so aus.