# Windows 10 Tastendruck zu bestimmter Zeit simulieren



## fighter0190 (30. November 2018)

Guten Abend/Tag zusammen,

nach vielen vielen Stunden erfolglosem googlen, muss ich hier mal nachfragen.

Ich bin auf der Suche nach einem Tool oder Programm 
welches zu einer bestimmten Zeit einen Tastedruck auf der Tastatur simuliert z.B.: "F12"

---------------------------------------

Der Hintergrund ist folgender: Ich möchte mit OBS oder "nvidia Share" bzw "AMD relive" 
zu bestimmten Zeiten einen Web-Stream aufnehmen indem ich meinen Desktop aufnehme.

OBS hat ja schon mal die Funktion, dass ich eine Zeit bestimmen kann, wann die Aufnahme beendet werden soll,
nur soll diese auch automatisch starten.

---------------------------------------

Rausgefunden habe ich schon, dass ich einen VBScript selber schreiben kann und unter Windows unter "geplante Tasks"
aktivieren kann. Hat leider nicht funktioniert, vielleicht ist auch der Code falsch, ich habe da leider Null Ahnung.

set sh=createobject("wscript.shell")
sh.sendkeys "{F12}"

Ich habe diesen Text in Notepad gespeichert und dann die Endung in .vbs geändert.

Vielleicht kann mir ja jemand helfen 

Beste Grüße
Patrick


----------



## fotoman (1. Dezember 2018)

MIr fällt dazu spontan AutoIt ein
Home - AutoIt

Das Problem mit dem VBS könnte sein, dass der Tastendruck nur von dem gerade aktuellen Fenster/Programm erkannt wird. Oder mit etwas Pech von keinem, wenn es als "geplante Tasks" ausgeführt wird.

AutoIt sollte die Tricks hoffentlich beherrschen, mit denen man sokche Limitierungen umgehen kann.


----------



## fighter0190 (2. Dezember 2018)

Danke für deine Antwort. Werde mir das Programm mal anschauen


----------



## fighter0190 (7. Dezember 2018)

Hab mich nun mit dem Programm ein wenig beschäftigt, aber ich werd´ nicht schlau draus o.O

Aber noch mal ´ne andere Sache: 
Hatte ja geschrieben, dass ich den Tastendruck mit einem VB-Script ausführen möchte.
Über "geplante Tasks" bzw "Aufgabenplanung" funktioniert dies nicht, aber wenn ich die .vbs-Datei manuell mit einem
Doppelklick öffne, startet die (in meinem jetzigen Fall) nvidia-Share-Aufnahme.

Also der Script ist anscheinend richtig, nur kann ihn Windows nicht ausführen.
Hat da jemand ´ne Idee?

Beste Grüße


----------



## DataDino (7. Dezember 2018)

Wie sehen denn die Bedingungen des geplanten Tasks genau aus? Hast du da vielleicht einen Fehler drin?

AutoIt ist kein normales Programm, sondern eine Programmiersprache bzw. Skriptsprache mit Basic-Syntax, die dazu entwickelt wurde, automatisierungen zu programmieren. Eigentlich wäre es genau dafür gedacht. Aber mal nur so für nebenbei ist es eben nichts.

*PS: *Ich habe jetzt einmal das Script selbst über die Aufgabenplanung mit dem Firefox im Vordergrund getestet. Beim erreichen des Zeitpunktes ist die Entwicklerkonsole aufgegangen. Also würde ich sagen, das auch die Aufgabenplanung mit dem Script funktioniert.


----------



## Gorblorex (8. Dezember 2018)

Hallo Patrick,
ich würde nicht das VBS in der Aufgabenplanung aufrufen, sondern cscript.exe und das VBS als Parameter. Unter welchem Benutzerkontext läuft Dein Script?
Ich kann mich aber meinen Vorrednern nur anschließen, AutoIT ist ein hervorragendes Tool wenn es um Windows Automatisierung geht.


----------



## Plasmadampfer (11. Dezember 2018)

Holste Dir ein Handle zu der Applikation und in der Message Pump Key Down, Key Up Event auswerten...


----------



## bastian123f (12. Dezember 2018)

Hast du schon einmal geprüft, ob es mit einer Batch-Datei geht? Die kann man dann auch mit in den Autostart von Windows werfen.

EDIT: OK. Glaube das funkt mit einer Batch nicht. Aber habe auch AutoIT oder Autohotkey gefunden.


----------



## Freddycbv (18. Dezember 2018)

Hallo Fighter0190,

Für ähnliche Zwecke habe ich bisher immer AutoHotkey benutzt, 
und nach kurzem Stöbern ein Skript gefunden, 
dass deinen Anforderungen genügen sollte.

 (Ich habe es etwas abgeändert, da du ja möchtest,
 dass zu einer gewissen Zeit ein Tastendruck ausgelöst wird)


```
#Persistent    ; Script by BoBo, edited by Marvin

SetTimer, Chronos, 500
Return

Chronos:
FormatTime, currentTime,,HHmm
if (currentTime = 2015) {
   Send {F12}
   ExitApp
}
Return
```

Der SetTimer - Befehl erzeugt einen Timer 'Chronos', der alle 500ms ausgeführt wird. 

Möchtest du ein anderes Abfrage-Intervall, kannst du es entsprechend abändern. 

Am wichtigsten ist hier die Anweisung 'If CurrentTime= 2015':
Damit wird F12 einmal gedrückt, sobald es 20:15 Uhr geworden ist. 

Hier einfach deine gewünschte Zeit eintragen, nach dem Muster HHMM, 
wobei die führende Null weggelassen wird. 
Also 420 statt 0420 für 04:20 Uhr ;D

Falls du noch Sekunden brauchst, 
kann man mit der FormatTime - Anweisung auch ein anderes Zeitformat wählen.

Das Skript dann mit der Endung .ahk abspeichern, und falls du AutoHotkey installiert hast, kannst du es einfach mit einem Rechtsklick -> Run Script starten.
Wichtig ist hierbei, im Notepad das Ganze mit 'Speichern Unter' -> Codierung 'Unicode' abzuspeichern, da das Skript ansonsten (mit Standard-Ansi Codierung) nicht funktioniert. 




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        



Ich hoffe ich konnte dir helfen,

Viele Grüße,
Marvin


----------

