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

Printed on: April 23, 2024 at 16:04 o'clock

Member: H41mSh1C0R
H41mSh1C0R Oct 18, 2018 updated at 12:02:31 (UTC)
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
Member: lord-icon
lord-icon Oct 18, 2018 at 15:26:55 (UTC)
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 ?
Member: H41mSh1C0R
H41mSh1C0R Oct 18, 2018 at 16:45:24 (UTC)
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
Member: lord-icon
lord-icon Oct 19, 2018 at 07:08:33 (UTC)
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.
Member: H41mSh1C0R
H41mSh1C0R Oct 19, 2018 updated at 07:38:40 (UTC)
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
Member: NetzwerkDude
Solution NetzwerkDude Oct 19, 2018 updated at 09:31:43 (UTC)
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 ...
Member: H41mSh1C0R
H41mSh1C0R Oct 19, 2018 at 10:44:20 (UTC)
Goto Top
Danke für deinen Post. Gleich mal stöbern. =)
Member: lord-icon
lord-icon Oct 22, 2018 updated at 06:51:42 (UTC)
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 Oct 22, 2018 updated at 07:12:14 (UTC)
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.