und wenn jetzt währenddessen b gedrückt wird?
dann wirds einfach verschluckt
Beiträge von Captain09
-
-
Alles anzeigen
Meine Lösung:
[autoit]For $i = 0x41 To 0x45
[/autoit]
If _Hans($i) Then
_Peter(Chr($i+32))
Sleep(100)
EndIf
Next
Viel stärker kann man das denke ich nicht vereinfachen, schon gar nicht ohne die beiden Funktionen zu kennen.Edit: Verkürzen ≠ Vereinfachen
Ich habe es zwar verkürzen können, aber die Performance wird dadurch wahrscheinlich auch nicht besser (besonders da For-Schleifen so langsam sind).interessante for-schleife ohne step

trotzdem danke -
Alles anzeigen
howdy
[autoit]
[/autoit]
Func _Hans($bInput)
Switch $bInput
Case 0x41
_Peter("a")
Case 0x42
_Peter("b")
Case 0x43
_Peter("c")
EndSwitch
sleep(100) ;brauchst du dieses sleep tatsächlich?
EndFuncich denke mal das dein code wirklich nur ein beispiel war..
oder funktioniert das in deinem fall nicht?danke schön
sleep brauche ich, damit Peter nur 1x und nicht 40x aufgerufen wird, wenn ich kurz a drücke
-
Hallo,
[autoit]
ich möchte aus Performance Gründen gerne folgendes if statement vereinfachen:
[/autoit][autoit][/autoit][autoit]
If _Hans(0x41) Then
_Peter('a')
sleep(100)
EndIfIf _Hans(0x42) Then
[/autoit][autoit][/autoit][autoit]
_Peter('b')
sleep(100)
EndIfIf _Hans(0x43) Then
[/autoit][autoit][/autoit][autoit]
_Peter('c')
sleep(100)
EndIfIf _Hans(0x44) Then
[/autoit][autoit][/autoit][autoit]
_Peter('d')
sleep(100)
EndIfIf _Hans(0x45) Then
[/autoit]
_Peter('e')
sleep(100)
EndIfIch dachte an etwas mit Case:
[autoit]
[/autoit]
Func _Hans($input)
...
Switch ($input)
Case 0x41
_Peter('a')
...aber ich glaube, so kann ich es nicht machen,
kann mich jemand beraten?
LG
Captain09 -
http://msdn.microsoft.com/en-us/library/…9(v=vs.85).aspx
Das verwenden eigentlich HackShields bzw. Sicherheitsprogramme von Online-Spielen die das Injecten / hacken erschweren.
danke, genau das was ich gesucht habe

Ja ich möchte, dass man mein Programm nur über das öffnen der exe starten kann
-
[autoit]Alles anzeigen
[/autoit] [autoit][/autoit] [autoit]
#includeMsgBox(0,"AutoIt-Programm wurde aufgerufen von", _ProcessGetName(ProcessGetParentProcess(@AutoItPID)))
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]; Gibt die Process-ID des Prozesses zurück der den angegebenen Prozess erzeugt hatte
[/autoit] [autoit][/autoit] [autoit]
Func ProcessGetParentProcess($PID)
Local Static $oWMI = ObjGet("winmgmts:\\localhost\root\CIMV2")
$PID = ProcessExists($PID)
If $PID = 0 Then Return SetError(1,0,0)For $oItem In $oWMI.ExecQuery("SELECT ParentProcessId FROM Win32_Process WHERE ProcessId=" & $PID, "WQL", 0x20 + 0x10)
[/autoit] [autoit][/autoit] [autoit]
Return $oItem.ParentProcessId
NextReturn SetError(2,0,0)
[/autoit]
EndFuncklappt super
Danke schön
Wenn du wissen willst wer grade auf deinen Prozess zugreift dann schau mal auf msdn nachK32EnumProcesses
wenn du mit msdn Microsoft Developer Network meinst, finde ich dort nur bullshit

-
Hallo,
kann man ihrgendwie überprüfen welcher Prozess auf ein Programm zugreift?
Oder eine Art Referer, wie bei HTTP request, welcher Prozess das Programm gestartet hat.
LG
Captain09 -
da ist was dran xDDDD
ok ich sollte nicht mehr nachts um 3 programmieren
sooo viel bullshit
Vielen Dank, dass Ihr Euch die Zeit genommen habt
LG
Captain09 -
sorry, das war nur ein Kopierfehler aus meinem script:
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <String.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
HotKeySet("{ESC}","_Ende")Global $pw = "123"
[/autoit][autoit][/autoit][autoit]
Global $lvl = 1$Form1 = GUICreate("Hackrypt", 283, 128, 517, 261)
[/autoit][autoit][/autoit][autoit]
$btBrowse1 = GUICtrlCreateButton("Browse", 208, 32, 73, 25)
$tfPath1 = GUICtrlCreateInput("...", 0, 32, 209, 21)
$Radio1 = GUICtrlCreateRadio("Radio1", 19, 8, 17, 17)
$Radio2 = GUICtrlCreateRadio("Radio2", 139, 8, 17, 17)
$Label1 = GUICtrlCreateLabel("encode", 40, 8, 40, 17)
$Label2 = GUICtrlCreateLabel("decode", 160, 8, 40, 17)
$tfPath2 = GUICtrlCreateInput("...", 0, 64, 209, 21)
$btBrowse2 = GUICtrlCreateButton("Browse", 208, 64, 73, 25)
$btProgress = GUICtrlCreateButton("Progress", 48, 88, 161, 33)
GUISetState(@SW_SHOW)While 1
[/autoit][autoit][/autoit][autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $btBrowse1
$path1 = FileOpenDialog("Eingangsdatei",@WindowsDir, "(*)")
GUICtrlDelete($tfPath1)
$tfPath1 = GUICtrlCreateInput($path1, 0, 32, 209, 21)
Case $btBrowse2
$path2 = FileOpenDialog("Eingangsdatei",@WindowsDir, "(*)")
GUICtrlDelete($tfPath2)
$tfPath2 = GUICtrlCreateInput($path2, 0, 64, 209, 21)
Case $Radio1
$crypt = 1
Case $Radio2
$crypt = 0
Case $btProgress
$path1 = GUICtrlRead($tfPath1)
$path2 = GUICtrlRead($tfPath2)
_crypt(FileRead($path1),FileRead($path2),$crypt)
EndSwitch
WEndFunc _crypt($txt,$destination,$crypt)
[/autoit][autoit][/autoit][autoit]
$crypted = _StringEncrypt($crypt,$txt,$pw,$lvl)
FileWrite($destination,$crypted)
MsgBox(0,"Success!","Successfully encrypted data!",1)
EndFuncFunc _Ende()
[/autoit][autoit][/autoit][autoit][/autoit]
Exit
EndFunckeine datei wird erstellt
-
Hallo,
[autoit]
ich möchte mittels Autoit ganze Dateien verschlüsselt und habe dafür ein Programm geschrieben:#include <String.au3>
[/autoit][autoit][/autoit][autoit]
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
HotKeySet("{ESC}","_Ende")Global $pw = "123"
[/autoit][autoit][/autoit][autoit]
Global $lvl = 1$Form1 = GUICreate("Hackrypt", 283, 128, 517, 261)
[/autoit][autoit][/autoit][autoit]
$btBrowse1 = GUICtrlCreateButton("Browse", 208, 32, 73, 25)
$tfPath1 = GUICtrlCreateInput("...", 0, 32, 209, 21)
$Radio1 = GUICtrlCreateRadio("Radio1", 19, 8, 17, 17)
$Radio2 = GUICtrlCreateRadio("Radio2", 139, 8, 17, 17)
$Label1 = GUICtrlCreateLabel("encode", 40, 8, 40, 17)
$Label2 = GUICtrlCreateLabel("decode", 160, 8, 40, 17)
$tfPath2 = GUICtrlCreateInput("...", 0, 64, 209, 21)
$btBrowse2 = GUICtrlCreateButton("Browse", 208, 64, 73, 25)
$btProgress = GUICtrlCreateButton("Progress", 48, 88, 161, 33)
GUISetState(@SW_SHOW)While 1
[/autoit][autoit][/autoit][autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $btBrowse1
$path1 = FileOpenDialog("Eingangsdatei",@WindowsDir, "(*)")
GUICtrlDelete($tfPath1)
$tfPath1 = GUICtrlCreateInput($path1, 0, 32, 209, 21)
Case $btBrowse2
$path2 = FileOpenDialog("Eingangsdatei",@WindowsDir, "(*)")
GUICtrlDelete($tfPath2)
$tfPath2 = GUICtrlCreateInput($path2, 0, 64, 209, 21)
Case $Radio1
$crypt = 1
Case $Radio2
$crypt = 0
Case $btProgress
$path1 = GUICtrlRead($tfPath1)
$path2 = GUICtrlRead($tfPath2)
_crypt(FileRead($path1),FileRead($path2),$crypt)
EndSwitch
WEndFunc _crypt($txt,$destination,$crypt)
[/autoit][autoit][/autoit][autoit]
$crypted = _StringEncrypt($crypt,$txt,$pw,$lvl)
;edit: trotzdem keine datei
FileWrite($destination,$crypted)
MsgBox(0,"Success!","Successfully encrypted data!",1)
EndFuncFunc _Ende()
[/autoit]
Exit
EndFuncEs wird allerdings keine Datei erstellt.
Kann mir jemand helfen?
LG
Captain09 -
Das Programm soll ein Ausleih System bilden und es reicht, wenn es zunächst auf einem Rechner läuft.
Man sollte per einscannen eines Barcodes auf der Karte eines Lesers in der Lage sein durch Einscannen der Barcodes von Büchern diese einer Liste o.ä.(von dem was von ihmausgeliehen wurde) des Lesers hinzuzufügen oder zu entfernen.
Ich möchte das ganze weitestgehend automatisieren und möglichst benutzerfreundlich machen, sodass am Ende wirklich nur einscannt werden muss
LG
Captain09 -
Hallo,
ich suche ein paar Denkanstöße wie ich ein Bücherei Ausleihprogramm entwerfen könnte.
Es geht um eine Bücherei (Bestand: 5000 Bücher, 1000CDs), die gerne von Stempelkarten auf Lesegeräte umrüsten würde.
Ich habe auch schon ein Programm geschrieben, mit dem man die Bücher und CDs in einer html Tabelle aufführen kann, indem man den Barcode auf dem Buch einscannt.
Autor, Buchtitel, ISBN und EAN werden erkannt.
Jetzt muss ich diese Daten jedoch weiterverarbeiten.
Ich würde mich über konstruktive Einfälle freuen.
LG
Captain09