Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Im Terminal Service funktioniert kein SendInput, keybd_event (https://www.delphipraxis.net/146449-im-terminal-service-funktioniert-kein-sendinput-keybd_event.html)

stoxx 20. Jan 2010 04:29


Im Terminal Service funktioniert kein SendInput, keybd_event
 
die Tastendrucksimulation funktioniert in einem Terminal Service nur, wenn man direkt vor dem Remote Desktop sitzt und den Desktop sieht.
Sobald man die Remote Desktop Verbindung minimiert hat oder die Verbindung ganz getrennt ist, dann funktioniert weder der Code von
SendInput, keybd_event und Postmessage um eine Tastensimulation an eine andere Anwendung zu schicken.
Fehlen da irgendwelche Rechte, oder was muss ich da beachten?


Hat jemand eine Lösung dafür zufällig? bin schon am verzweifeln .. ist wirklich sehr wichtig ...

vielen Dank

stoxx 22. Jan 2010 13:31

Re: Im Terminal Service funktioniert kein SendInput, keybd_e
 
kann man also sagen, dass das niemand weiß? :(

Assertor 22. Jan 2010 13:55

Re: Im Terminal Service funktioniert kein SendInput, keybd_e
 
Hi stoxx,

auch ohne das jemals selbst benötigt zu haben, ist die Logik denke ich klar: Der Minimierte RDP Client soll Traffic sparen, also wird neben Bild auch kein Tastendruck oder Mausklick weitergeben.

Gleiches wäre auch zu beobachten, wenn Du per SendInput Mausklicks z.B. auf einen Button simulierst, der außerhalb des sichtbaren Bereich liegt (also RDP Window < Session Desktop und Button außerhalb des RDP Window).

Laut meiner Recherche ist des Rätsels Lösung das wScan-Field von SendInput: MapVirtualKey() muß dort genutzt werden.

Schau Dir mal die Links an:
http://www.eggheadcafe.com/software/...ndinput-a.aspx
http://www.remkoweijnen.nl/blog/2009...n-or-wm_keyup/
http://stackoverflow.com/questions/1...new-rdp-client
http://www.remkoweijnen.nl/blog/wp-c...=4&name=Delphi

Im letzten mal nach MapVirtualKey suchen, gerade Remko (JEDI) hat viel Ahnung von TS Sachen.

Ich hoffe das hilft Dir etwas!

Gruß,

Assertor

stoxx 31. Jan 2010 20:50

Re: Im Terminal Service funktioniert kein SendInput, keybd_e
 
Hi Assertor,

naja .. daran liegt es irgendwie nicht, geht leider trotzdem / immer noch nicht. :-(

Dezipaitor 31. Jan 2010 22:37

Re: Im Terminal Service funktioniert kein SendInput, keybd_e
 
Damit haben alle Remotecontrol-Anwendungen zu kämpfen.

himitsu 31. Jan 2010 23:00

Re: Im Terminal Service funktioniert kein SendInput, keybd_e
 
Genauso, wie kein "Desktop" existiert, von dem man einen Screenshot machen kann,
solange man diesen Desktop nicht sieht (siehe mal Screenshot-Thread),

wird hier wohl auch kein Eingabesystem existieren?

stoxx 19. Dez 2010 12:22

AW: Im Terminal Service funktioniert kein SendInput, keybd_event
 
ich wollte den Thread nochmal hochholen ..
dafür hat nicht zufällig jemand eine Lösung gefunden?

stoxx 15. Feb 2011 20:42

AW: Im Terminal Service funktioniert kein SendInput, keybd_event
 
ich frag mal ab und an, ob vielleicht nicht doch noch jemand, der zufällig eine Lösung für das Problem kennt, auf diesen Beitrag aufmerksam wird :-)

himitsu 15. Feb 2011 21:07

AW: Im Terminal Service funktioniert kein SendInput, keybd_event
 
Das aktive Control finden (falls es sowas gibt) und diesem direkt via SendMessage/PostMessage ein paar WM_KEY_... zuschicken.

sx2008 15. Feb 2011 23:10

AW: Im Terminal Service funktioniert kein SendInput, keybd_event
 
Zitat:

Zitat von stoxx (Beitrag 990563)
...Tastendrucksimulation ... funktioniert nicht

Ich möchte fast sagen: "gott sei dank".
Fremde Software (oder noch schlimmer eigene Software) über simulierte Tastendrücke zu steuern ist doch technisch völlig unsauber.
Schlechter Programmierstil, Rumgefrickele.
Wenn die Leute hier im Forum etwas wissen wollen, dann fragen sie nicht:
Was muss ich tun, damit dies oder jenes passiert?
Nein, sie fragen: wie kann ich in einem fremden Programm einen Button drücken oder einen Menüpunkt aufrufen?

Seufz...


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:13 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz