Datum schreiben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
kaengo
User
Beiträge: 2
Registriert: Sonntag 12. März 2017, 07:21

Hallo allerseits!

Ich möchte ein kleines Skript schreiben, welches ich mittels eines Shortcuts (unter Windows) aufrufen kann, während ich gerade in einem anderen Programm bin, und welches mir dann genau an die Stelle, an der ich mich gerade befinde, das aktuelle Datum und die aktuelle Uhrzeit hinschreibt,
ganz gleich, ob ich in LibreOffice bin, in einem Web-Eingabeforumular, in einem Editor, etc...

Mit AutoIT habe ich es schon hinbekommen, es läuft allerdings nicht gut, häufig schreibt es nur einen Teil, offenbar weil der Focus nicht schnell genug auf das aktuelle Programm springt, nachdem ich das Skript aufgerufen habe..

Naja, und da ich mir gerade Python beibringe, dachte ich, das währe doch eine ganz nette Herausforderung ..

Relevant sind ja offenbar nur zwei Befehle:
Nach Aufruf des Programmes wieder den Focus an die Stelle setzen, wo man vor dem Aufruf war.
Und den vorbereiteten String an die Stelle schreiben ...

Weis jemand Rat?

Gruß,
Kängo ..
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@kaengo: man müßte sich damit auseinandersetzen, welche APIs Windows für solche Zwecke zur Verfügung stellt. Auf LowLevel kann man einen Hook mit "SetWindowsHookEx" setzen, der alle Tastatureingaben abfängt und bei entsprechender Taste müßte man den gewünschten Text in die Zwischenablage legen und dem aktiven Programm ein Strg+V senden. Hat jetzt weniger was mit Python und mehr mit Windows-Guru-Programmierung zu tun.
kaengo
User
Beiträge: 2
Registriert: Sonntag 12. März 2017, 07:21

Jo, Danke für die Antwort.

Fürchte, dafür reichen meine Kenntnisse nicht (API's durchforsten, ich weis zwar gerade noch, was das ist, aber nicht, wie man sie anspricht oder verwendet), da ich zwar schon länger hin und wieder mal (bisher: AutoIT, C und Fortran) programmiere,
aber bisher nie den Rahmen der klassischen Ein- und Ausgabekanäle verlassen habe ..

Das Aufrufen mache ich in meinem (wie gesagt schlecht funktionierendem) AutoIT-Skript, indem ich das Programm auf dem Desktop
abgelegt habe, und ihm dort einen Shortcut zugewiesen habe.

Dein Hook würde doch verlangen, daß das Programm permanent läuft (weil es ja die Tastatur-Eingaben abfängt) und die Tastatur-Eingaben
normalerweise durchleitet?

Das würde mir als viel zu aufwendig erscheinen.

Das Programm sollte eigentlich bei Aufruf nur zurückspringen zu dem Programm, welches aktiv war, bevor es aufgerufen wurde, und dann da einen String absondern (an der Stelle des Cursors). Danach sollte es wieder stoppen.



Gruß!
Holger
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@kaengo: was erscheint Dir gegenüber was als zu aufwändig? :K
Antworten