lord-icon
Goto Top

Powershell Feld bzw. Zwischenablageüberwachung

Ich hab auf arbeit viel mit strg+c/strg+v zu arbeiten.
Ist natürlich nervig wenn man viele Zeilen rüberkopieren muß.

Habe ich mit PowerShell eine Möglichkeit mir das zu erleichern?

z.b. Wenn mehrfache Zwischnablage oder sogar noch besser:
Wenn strg+c gedrückt wird, dann den Inhalt kopieren und sich die ID oder name vom Feld merken.
Wenn ich im anderen Formular dann strg+v drücke dann soll ein gezielter Inhalt aus der Zwischenablage eingefüt werden.
Sprich: Wenn das Ziel-Input-Feld die ID: "name" hat dann soll der Inhalt gezielt aus der Zwischenablage von strg+c kommen. (z.B. "fullname")

Die zuweisung muß ich dann natürlich vorgeben. Fraglich wäre nur, ob das PowerShell mir das bieten kann.

Vielen Dank für Tipps.

P.s. Softwareinstallation oder Downloads von Programmen ist nicht möglich.

Content-Key: 389927

Url: https://administrator.de/contentid/389927

Ausgedruckt am: 28.03.2024 um 19:03 Uhr

Mitglied: H41mSh1C0R
H41mSh1C0R 18.10.2018 aktualisiert um 14:02:31 Uhr
Goto Top
Zwischenablage ist Zwischenablage.

Wie soll das Funktionieren?

Vielleicht wenn beide Formulare innerhalb einer PS GUI Anwendung laufen und man Strg+C und Strg+V so überschreibt das dein gewünschtes Verhalten rauskommt. Sollten die beiden Formulare allerdings in getrennten Anwendungen oder Instanzen laufen wird das denke ich nix.

VG
Mitglied: lord-icon
lord-icon 18.10.2018 um 17:26:55 Uhr
Goto Top
Deshalb fragte ich ja.

Wird strg+c gedrückt,wird die zwischenablage gefüllt.
Hier hoffte ich erstmal, das PS darauf schon mal zugriff hat.
Wird eine Änderung festgestellt, muß die Postion des Cousers abgefragt werden. Sprich: wo bin ich und dessen Feldname (z.B. ID oder NAME vom Feld) weggespeichert.
Aber wenn PS das schon nicht schafft, fällt dann die spätere Ablaufsteuerung eh aus.

Hättest du eine andere Lösung, wie das ggf. zu lösen sei ?
Mitglied: H41mSh1C0R
H41mSh1C0R 18.10.2018 um 18:45:24 Uhr
Goto Top
Denke mit reinen Boardmitteln nicht.

Aber wenn die Formulare wie oben von mir geschrieben in ein und der selben Anwendung vorliegen und man das Ereignis Copy und Paste Verhalten überschreiben kann mit dem gewünschten ginge das vielleicht.

VG
Mitglied: lord-icon
lord-icon 19.10.2018 um 09:08:33 Uhr
Goto Top
oki.. vielen Dank.
Dann hat sich das ganze wohl... Die Daten kommen aus Excel, PDF und mehrfach aus verschiedene Browser-Daten.

Schade... aber ok.
Mitglied: H41mSh1C0R
H41mSh1C0R 19.10.2018 aktualisiert um 09:38:40 Uhr
Goto Top
Hab gerade bei der eigenen Recherche gefunden das ab Windows 10 eine Mehrstufige Zwischenablage vorhanden sein soll ab "Insider Build 17666 (Redstone 5)".

Mit "Win+V" soll man da das Element auswählen können.

Das soll der manuelle Weg sein, ob man das anprogrammieren kann bin ich überfragt.

vg
Mitglied: NetzwerkDude
Lösung NetzwerkDude 19.10.2018 aktualisiert um 11:31:43 Uhr
Goto Top
Naja, für einfache Operationen gibts die cmd-lets:
Get-Clipboard 
und
 Set-Clipboard

Für etwas fortgeschrittenere gibts den .Net Typ
[System.Windows.Forms.Clipboard]
da bekommst mit
[System.Windows.Forms.Clipboard] | Get-Member
bzw.
[System.Windows.Forms.Clipboard] | Get-Member -Static
einige interessante Methoden

ansonsten finden sich einige Projekte im Web zu dem Thema:
https://learn-powershell.net/2014/07/24/building-a-clipboard-history-vie ...
Mitglied: H41mSh1C0R
H41mSh1C0R 19.10.2018 um 12:44:20 Uhr
Goto Top
Danke für deinen Post. Gleich mal stöbern. =)
Mitglied: lord-icon
lord-icon 22.10.2018 aktualisiert um 08:51:42 Uhr
Goto Top
Super... das ist schon mal hilfreich.
Kann man sich schon mal alle benötigten Daten in die Zwischenablage packen.

Bleibt jetzt noch die Frage, ob PowerShell erkennen kann, wo sich mein Courser befindet um dessen Feldinformationen auszulesen ?
Mitglied: 137443
137443 22.10.2018 aktualisiert um 09:12:14 Uhr
Goto Top
Zitat von @lord-icon:
Bleibt jetzt noch die Frage, ob PowerShell erkennen kann, wo sich mein Courser befindet um dessen Feldinformationen auszulesen ?
Kann man, indem man sich mit den Win32 Funktionen das aktive Window holt und das aktive Control
mit der GetFocus() Methode ausliest. Beispiele dazu finden sich zu Häufig als c#, was man leicht in Powershell übersetzen kann.

Gruß l.