Script erstellen welches alle paar Sekunden eine Taste drückt?
Hallo liebe Community,
ich habe folgendes Problem und zwar brauche ich ein Script welches alle 50 Sekunden die Taste 1 drückt. Also das heißt ich starte das script und es drückt alle 50 sekunden die 1 Taste ohne dass ich iwas machen muss. Ich benutze autohotkey. Wäre es auch möglich eine taste festzulegen zum starten und stoppen des scripts ?
danke im vorraus
5 Antworten
Mit der Windows Powershell:
https://technet.microsoft.com/en-us/library/ff731008.aspx
[void] [System.Reflection.Assembly]::LoadWithPartialName("'System.Windows.Forms")
while(1) {
[System.Windows.Forms.SendKeys]::SendWait("1")
Start-Sleep -Seconds 50
}
[void] [System.Reflection.Assembly]::LoadWithPartialName("'Microsoft.VisualBasic")
[Microsoft.VisualBasic.Interaction]::AppActivate("hier dein Spiel eintragen")
[void] [System.Reflection.Assembly]::LoadWithPartialName("'System.Windows.Forms")
while(1) {
[System.Windows.Forms.SendKeys]::SendWait("1")
Start-Sleep -Seconds 50
}
Vielleicht ?
init:
#NoEnv
#SingleInstance, Force
#Persistent
#InstallKeybdHook
#UseHook
#KeyHistory, 0
#HotKeyInterval 1
#MaxHotkeysPerInterval 127
Menu:
version = 0.1
Menu, tray, NoStandard
Menu, tray, Add
Menu, tray, Add, Simple script version %version%
Menu, tray, Add, start script , start
Menu, tray, Add, exit script , exit
start:
sleep, 50000
send {1}
if (!GetKeyState("NumPad5","P"))
goto init
else
goto start
exit:
exitapp
script stop beim drücken der numpad 5 taste sonst lauft er weiter
menu ist mit dabei
Wäre es auch möglich eine Taste festzulegen
zum starten und stoppen des scripts ?
Ja, In AutoHotKey gibt es dafür den Befehl SUSPEND. z.B.
^!s::
Suspend
Return
Beim Drücken der Tasten Strg+Alt+S wird das Script gestopt.
Beim nochmaligen Drücken wieder gestartet usw.
Ich weiß nicht, ob es sowas gibt, das einen Tastatur-Input imitiert. Wenn ja, habe ich davon noch nicht gehört.
Normal ist es so, dass die Eingabe direkt in das ausgeführte Programm erfolgt, z.B. in Form eines Batch-Files, das dann aber auch ausgelesen werden muss.
In welche Software soll die "1" denn getippt werden?
Da irrst du dich leider und es gibt mehrere Möglichkeiten:
Den Tastaturtreiber bzw. ein Zubehörprogramm, was drauf zugreift und den Tastendruck simuliert (Logitech hat sowas für Tastatur und Maus beispielsweise)
Die Windows-Api, welche vom Tastaturtreiber aufgerufen wird, wenn eine Taste gedrückt wird: Da wäre es die Funktion System.Windows.Forms.SendKey()
Dann kann man unter der Kommandozeile einem Programm mit < die Eingaben aus einer Datei zukommen lassen, diese werden genauso wie Tastenanschläge, allerdings ohne Pause betrachtet und behandelt.
Ich habe deine Antwort gelesen und da schon festgestellt, dass ich Windows Powershell noch immer unterschätze. Vorsichtshalber habe ich auch nicht geschrieben "sowas gibt es nicht", sondern "von sowas habe ich noch nie gehört". Jetzt weiß ich es auf jeden Fall!
P.S.: ich stelle es mir witzig vor, ein Programm zu schreiben, dass alle 20 Sekunden einen zufälligen Buchstaben eintippt...damit kann man Kollegen sicher herrlich ärgern :D
Ok, das ist schlecht, weil du ja nicht auf den Code des Spiels zugreifen kannst und weil das Spiel auch keine Eingabe von extern (z.B. eben einem Batch-Script) erwartet.
Hier mal ein Google-Treffer:
hey, hab das gerade durch zufall gefunden.
ist es möglich das er den command an eine bestimmte anwendung schickt so das wenn ich in einer anderen anwendung gerade etwas mache er die aktion dennoch dort ausführt wo er soll?
muss ich dieses powershell runterladen oder muss ich einfach eine text datei erstellen und die endung ändern und wenn ja in was ?