Ich möchte mittels eigenem Hotkey die Zwischenablage als Tastendruck einfügen. Hintergrund ist der, dass ich ein Webformular habe, was ich mit Zahlen füllen muss. Diese Zahlen habe ich bereits mit Tabulator-Taste getrennt (aus Excel VBA) in die Zwischenablage kopiert. Tabulator, deshalb, um ins nächste Feld zu gelangen.
Allerdings habe ich 2 Methoden probiert, die beide nicht funktionieren:
SendInput: Was muss ich bei den TAB-Tasten beachten? Den String aus der Zwischenablage einfach an SendInput zu schicken geht jedenfalls nicht. Im Texteditor geht es. In Excel klappt das schon nicht (alle Werte werden OHNE Tab in eine Zelle gepackt).
SendKeys: Klappt auch nicht, da bei dem 2. Aufruf von SendKeys die Funktion einfach nichts ausgibt.
Welche wäre denn eigentlich die Richtige Lösung, um die komplette Zwischenablage, so wie sie ist als Tastendrücke in einem aktiven Fenster/Formular/Anwendung zu simulieren?
Demnach ist dein Problem nicht die Zwischenablage oder Sondertaste, sondern das einfügen von Text.
Das sollte schon mit SendKeys funktionieren. Da machst du wohl noch etwas falsch. Mach dir ein ganz simples Beispiel in dem du nur was ausgibt, dann TAB (fürs nächste Feld) und da dann wieder was ausgeben.
Am besten noch ein Sleep dazwischen, damit die Tasten etwas Zeit haben um "anzukommen".
Naja SendKeys kann doch ganze Strings versenden und mit WaitSendKeys wartet der doch auch noch auf die Rückmeldung ..... wofür wäre dann der Sleep noch notwendig? Kann man den mit SendKeys einfach ein Tab einfügen?
Das mit Wait geht natürlich auch. Ich habe sowas schon mal für eine Art Fernsteuerung verwendet, die ein anderes Programm bedient hat. Da war Sleep besser denn dadurch konnte ich längere Pausen einfügen um zu sehen was der Reihe nach passiert.
Klar kann man ein Tab senden. Ich meine das geht sogar direkt mit "\t", oder sieh in der Hilfe nach was es da für eine besondere Schreibweise gibt.
Falls das nicht funktioniert, gib die Zeichen in einzelnen Aufrufen aus anstatt den ganzen String auf einmal.
++Rekursion ++
(lat. , die) siehe Rekursion