Einfachste & grobe Weise:
Die Wav/Mp3 Datei im Windows/Media Ordner durch eine leere ersetzen.
Der Ton wird zwar abgespielt, macht aber halt 0.
Leere Soundfiles (Kurz selbst gemacht): autoit.de/wcf/attachment/11692/
Einfachste & grobe Weise:
Die Wav/Mp3 Datei im Windows/Media Ordner durch eine leere ersetzen.
Der Ton wird zwar abgespielt, macht aber halt 0.
Leere Soundfiles (Kurz selbst gemacht): autoit.de/wcf/attachment/11692/
Irre ich mich oder liegst du da falsch? @Mattthias
AdLibs sind doch eigentlich nur Zwischenabfragen die ausgeführt werden egal wo
das eigentlich Script gerade steht. Das Script selbst (Schleife oder ähnliches) bleibt in diesem
Moment aber stehen? Was er oben ist, genau diesen Punkt zu umgehen.
Okay, etwas verwirrend. Brauchst du z.b.
[autoit]$0001 = "xx"
$0002 = "xx"
etc, oder:
[autoit]$Variable = "0001" ; 0001 - 9999
[/autoit]Dann versuch mal das hier, hilft dir denke ich weiter.
grad mal rumprobiert und was schönes gebastelt.
Sollte soweit fehlerfrei funktionieren.
;Array für meine Func unten
Dim $Klicks[2]
$Klicks[0] = "400,600,2,left,0" ;X, Y, Clicks, Button, Speed
$Klicks[1] = "200,700,2,left,0"
;Klicks starten
_SecureMouseClick_byArray($Klicks)
Func _SecureMouseClick_byArray($ArrayClicks)
BlockInput(1)
For $i1 = 0 To UBound($ArrayClicks) -1
$Clickinfo = StringSplit($ArrayClicks[$i1], ",", 1)
MouseMove($Clickinfo[1], $Clickinfo[2], $Clickinfo[5])
For $i2 = 0 To $Clickinfo[3]
MouseDown($Clickinfo[4])
MouseUp($Clickinfo[4])
Next
Next
BlockInput(0)
EndFunc ;==>SecureMouseClick_byArray
Ungetestet & im Browser geschrieben:
(Tipp: MouseMove+Down+Up ist scheinbar schneller wenn der Klick nicht auf dem gleichen Pixel stattfindet.)
Func SaveMouseClick($Button, $X, $Y, $Clicks, $Speed)
BlockInput(1)
MouseMove($X, $Y, $Speed)
For $i = 0 To $Clicks
MouseDown($Button)
MouseUp($Button)
Next
BlockInput(0)
EndFunc
Ist es, ich benutz Avira & Opera (neuste denke ich?) und krieg zwischendurch
Werbung von wegen i.welche Cocktails, Link an Freunde senden & so nem kram
Edit:
Epic Denkfehler. Avira+IE da ja AutoIt
Okay, ich will eine Werbung auf einer Website ausblenden,
dafür gibt es auch einen schönen "Überspringen" Button.
Nur will dieser nicht von mir geklickt werden o_O
Quellcode:
<form action='?site=interested&do=rate&visible=1' method='post'>
<input type="hidden" name="id" value="45541"><input type="submit" value="Öffnen" style='font-size: 15; font-weight:bold'>
</form>
<form action='?site=interested&do=skip' method='post'>
<input type="hidden" name="id" value="45541"><input type="submit" value="überspringen">
</form>
Aus irgendeinem Grund wird bei mir immer der erste geklickt, habs auch schon mit Index
etc probiert Und FormByValue gibt es denke ich nicht oder?
Geht auf die IE.au3 hinaus, wird also in einem IE Fenster gemacht.
Vlt hat ja jemand ne Idee
I.wann mal aus langeweile entstanden:
[autoit];===================================================================================================
; RandomGen by Sen
;===================================================================================================
; $Nr = Length of the String to return
; $Mod's:
; "All" - Letter, Numbers and Signs like !,?,and so.
; "Letter" - Letter only
; "Number" - Numbers only
; "Key" - Numbers and Letters
;===================================================================================================
Func RandomGen($Nr, $Mod)
$Return = ""
Switch $Mod
Case "All"
For $i = 1 To $Nr
$Return &= Chr(Random(33, 127, 1))
Next
Case "Letter"
For $i = 1 To $Nr
$Return &= Chr(64 + Random(1, 26, 1) + Random(0, 1, 1) * 22)
Next
Case "Number"
For $i = 1 To $Nr
$Return &= Random(0, 9, 1)
Next
Case "Key"
For $i = 1 To $Nr
If Random(0, 1, 1) Then
$Return &= Random(0, 9, 1)
Else
$Return &= Chr((64 + Random(0, 1, 1) * 32) + Random(1, 26, 1))
EndIf
Next
EndSwitch
Return ($Return)
EndFunc ;==>RandomGen
Würde ich aufpassen Raupi.
90% der Fälle wird genau das hier benuzt um Keys für Spiele "On go" zu generieren.
Sonst aber klasse Func, muss ich sagen.
Nein, direkt denke ich nicht.
Aber er könnte auch ebenso die Bilder generieren lassen & dann per Php immer
hochladen etc. Ich hab ihm nur die AutoIt "Richtung" gesagtweils hier nunmal ein Au3 Forum is
Allgemein die "Ich hab mal mit xxx gecodet ich verstehe auch xxx" Einstellung
ist so sinnvoll wie Jesus als Mathelehrer.
Grundbefehle werden sein (wenn dus mit Autoit machen willst):
GUICtrlCreatePic + Befehle für den Hintergrund
FileRead/StringSplit/RegExp + Kram für die Acc Info
Evtl noch GDI+ wenn du's fein haben willst.
Jedes Gebäude als "Block" in einzelne Jpg's, das ganze mit GDI+ oder Controls (geht auch wenn die Bilder gleich groß sind)
aneinandersetzen & das gefragte färben.
Auf jeden Fall möglich.
Das Problem ist.. Programme die z.b.
"Ich beende ein Programm nach xxx Min"
machen sind mit 1(!) Zeile Code & der richtigen Func geknackt.
Man müsste also immer mehrere Exen haben die sich gegenseitig abfragen.
Was wiederrum auch abfragbar & somit sperrbar ist.
Man kann auch mit C++ einfach keine "100%" sichere Sperre für irgendwas
auf Windows schreiben. Nichtmal topmoderne AntiVir Systeme, Hackshields
& anderer Kram ist "sicher".
So?
[autoit]$answer_richtig = 1
[/autoit][autoit][/autoit][autoit]Do
$answer = Inputbox ("","2-1")
Until $answer = $answer_richtig
Edit: Denkfehler, so meine ich. xD
4 kleine Tipps wenns wirklich sicher sein soll.
1. Nicht die Windowsuhr.
Warum? Weil eine Abfrage viel zu leicht zu knacken ist, da bringt auch die Abfrage nichts.
Warum die Uhr vorstellen wenn man sie einfach feststellen kann?
2. Timer wirken nicht.
Da man sie relativ leicht einfach über andere "Zugriffe" ändern kann.
3. Registry/WMI Einträge vermeiden.
Beide kann man vor Programmstart ändern (RegEdit) oder bei Abfrage den Return ändern (WMI etc).
4. ntSuspend Schutz
Das Problem wirst du (Dank Windoof) nicht umgehen können.
1 Zeile Script, bringt dein ganzes Script einfach zum stillstand
Da wir grad schon das Thema mit Geschwindigkeit im anderen Thread hatten, wollte ich
mal gucken ob ich meine MouseClick Func umschreiben kann da sie immo Dll's benutzt
die ich ungern teile Also hab ich mir mal die Windows Dll's angeguckt und was
gebastelt, nur steckt irgendwo noch der Wurm drin.
#include <Timers.au3>
Opt("MouseClickDelay", 0)
Opt("MouseClickDownDelay", 0)
Sleep(5000)
[/autoit] [autoit][/autoit] [autoit];HyperMouse
$Cords = MouseGetPos()
$Timer = _Timer_Init()
_HyperMouse(WinGetTitle("[active]"), "left", $Cords[0], $Cords[1], 100)
$Res = _Timer_Diff($Timer)
ConsoleWrite("Das brauchte jetzt: " & $Res / 1000 & " Sekunden" & @CRLF)
;Funktion
Func _HyperMouse($W, $B, $XP, $YP, $HP_C)
$User32 = DllOpen("user32.dll")
Switch $B
Case "left"
For $ic = 0 To $HP_C
DllCall($User32, "int", "SendMessage", "hwnd", WinGetHandle($W), "int", 0x0200, "int", 0, "long", _MakeLong($XP, $YP))
DllCall($User32, "int", "SendMessage", "hwnd", WinGetHandle($W), "int", 0x0201, "int", 0x0001, "long", _MakeLong($XP, $YP))
DllCall($User32, "int", "SendMessage", "hwnd", WinGetHandle($W), "int", 0x0202, "int", 0x0001, "long", _MakeLong($XP, $YP))
Next
Case "right"
For $ic = 0 To $HP_C
DllCall($User32, "int", "SendMessage", "hwnd", WinGetHandle($W), "int", 0x0200, "int", 0, "long", _MakeLong($XP, $YP))
DllCall($User32, "int", "SendMessage", "hwnd", WinGetHandle($W), "int", 0x0204, "int", 0x0002, "long", _MakeLong($XP, $YP))
DllCall($User32, "int", "SendMessage", "hwnd", WinGetHandle($W), "int", 0x0205, "int", 0x0002, "long", _MakeLong($XP, $YP))
Next
EndSwitch
DllClose($User32)
EndFunc ;==>_HyperMouse
Func _MakeLong($LoWord, $HiWord)
Return BitOR($HiWord * 0x10000, BitAND($LoWord, 0xFFFF))
EndFunc ;==>_MakeLong
Wird denke ich nur ein Denkfehler sein.
Nur fällt mir nicht auf wo er liegt
Dann halt gleich so
[autoit]#include <Timers.au3>
Opt("SendKeyDelay", 0)
Opt("SendKeyDownDelay", 0)
;Timer
$Timer = _Timer_Init()
$String = StringSplit("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", "")
;Eigenliche Funktion
For $i = 1 To $String[0]
Send($String[$i])
Next
$Res = _Timer_Diff($Timer)
;ConsoleWrite
ConsoleWrite("Das brauchte jetzt: " & $Res / 1000 & " Sekunden" & @CRLF)
ConsoleWrite("Pro Zeichen: " & ($Res / 1000) / $String[0] & "Sekunden" & @CRLF)
So, zu dem 8 sek Ding:
[autoit]#include <Timers.au3>
Opt("SendKeyDelay", 0)
Opt("SendKeyDownDelay", 0)
;Timer
$Timer = _Timer_Init()
;Eigenliche Funktion
$String = StringSplit("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", "")
For $i = 1 To $String[0]
Send($String[$i])
Next
;ConsoleWrite
ConsoleWrite("Das brauchte jetzt: " & _Timer_Diff($Timer) / 1000 & " Sekunden" & @CRLF)
Ergebnis bei mir:
ZitatDas brauchte jetzt: 0.00142892741954634 Sekunden
Ineluki
Größenteils, stimmt.
Aber es ist halt immernoch ein AutoIt Script!
ZitatWenn du Sachen parallel laufen lassen willst brauchst du bei AutoIt 2 Exen. AutoIt ist nämlich NICHT multithreading fähig.
Sen: Das is zu 100% nicht AutoIt, dass die Muasklicks ausführt
Du kannst aber trotzdem Funcs zum abfragen laufen haben und zwischendurch mit AdLibs die Handshkes abfangen o;
Und doch, es ist AutoIt. (Auch wenn Dll's etc im Spiel sind. :P)
ZitatSen: ich hab auch mal bei facebook so en hack probiert...
Du musst so schnell wies geht das ABC eintippen, aber schneller als 8sek kam ich mit autoit nicht...
8 sek? o_O
Moment ich teste mal eben was, nur mit normlem AutoIt Kram.
Ich editier hier gleich.
Zum Thema "AutoIt ist langsam" liebe ich einfach das hier zu posten:
[Blockierte Grafik: http://p8.p1x.de/user/full/5e/7a/b218c003-40808743.jpg]
Ansonsten, du kannst ohne Probleme mit AdLib arbeiten, aber auch ohne Probleme
eine zweite Exe zur Hand nehmen. Könnte nur passieren das 2 Exen auch deutlich mehr CPU fressen.