Autor Beitrag
Alice
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 120



BeitragVerfasst: Do 11.07.13 15:44 
Hallo Boardies,

ich will einen Telefonie Client Quasi Fernsteuern. x86 / x64 unter Win7

Manuell geht das so:

Start:
TelNrFeld: Leer
Button 'Anrufen': Disabled

Manuelle Eingabe:
Nummer eingeben im TelNrFeld
den Button 'Anrufen' (nun Enabled) betätigen.

Im Prinzip will ich genau das selbe, halt von außerhalb Steuern.

Bisheriges Vorgehensweise:
Application Handle holen -> Findwindowbytitle
ID des Controls darin auslesen -> GetDlgCtrlID

dann per Sendmessage, WM_SETTEXT die Nummer übergeben.
Button 'Anrufen' drücken.

klappt soweit auch alles, d.h. Text(Nr) übergeben, Button drücken

Jedoch bleibt der Button 'Anrufen' Disabled nachdem ich den Text per Sendmessage
reingeschrieben habe, danach kann ich natürlich keinen button betätigen da
er noch disabled ist. sobald ich manuell in das textfeld eine zb. führende zusätzliche null
ist der Button Enabled und der buttonpress via fernsteuerung gelingt.

was muss ich ändern?

thx
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 11.07.13 16:24 
Probier mal SendInput:
msdn.microsoft.com/e...646310(v=vs.85).aspx
Vielleicht aktiviert das den Button, wenn der Programmierer das bei Mousedown oder Mouseup eingebaut hat.
Alice Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 120



BeitragVerfasst: Do 11.07.13 17:01 
hi,

erstmal danke für den tip.

ich probiere das mal aus, kannte ich gar nicht!
Alice Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 120



BeitragVerfasst: Mo 15.07.13 08:51 
user profile iconAlice hat folgendes geschrieben Zum zitierten Posting springen:
hi,

erstmal danke für den tip.

ich probiere das mal aus, kannte ich gar nicht!


Also mit 'Sendinput' läuft das ganze nun gut, hier Lokal auf meinem Rechner. Danke !

Jedoch tut sich mir grade ein anderes Problem auf:
Die zu Steuernde Applikation läuft innerhalb von Citrix.

Wenn ich mir nun die Applikation innerhalb der Citrix Welt ansehen, sehe ich das nur das MainWindow
ein Handle bekommt, alle anderen eingebetteten Controls werden anscheinend nicht mit übergeben.

Somit komme ich nicht an die einzelnen Controls innerhalb der Form heran und kann nichts Steuern usw.

Irgendwelche Tips hierzu?, oder gibt es eine Mögl. Citrix dazu zu bewegen alle Handles dieses Programms zu übergeben?

Alice
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10181
Erhaltene Danke: 1254

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 15.07.13 13:59 
Moin!

user profile iconAlice hat folgendes geschrieben Zum zitierten Posting springen:
Die zu Steuernde Applikation läuft innerhalb von Citrix.
[...]
Irgendwelche Tips hierzu?
Starte deine Anwendung im Kontext der Citrix-Session (also auf dem Server). Lokal auf deinem Rechner (also dem Session-Host) kommst du da nicht ran (und das ist auch gut so).

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Alice Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 120



BeitragVerfasst: Mo 15.07.13 17:00 
ich hatte schon versucht, innerhalb einer Citrix-Session über eine gemountetes verzeichniss die app.
zu starten und es so zu versuchen, dennoch kein zugriff auf die handles.

user profile iconNarses hat folgendes geschrieben Zum zitierten Posting springen:
Moin!
Starte deine Anwendung im Kontext der Citrix-Session (also auf dem Server). Lokal auf deinem Rechner (also dem Session-Host) kommst du da nicht ran (und das ist auch gut so).



ok, was heisst das genau?

wo muss meine kleine app liegen und wie muss ich sie starten damit ich
auf die handles zugreifen kann, danke dir :-)

Alice
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 15.07.13 20:14 
Du greifst ja mit Citrix auf einen Server zu. Und genau dort muss parallel zu dem zu steuernden Programm auch dein Programm liegen.
Alice Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 120



BeitragVerfasst: Mi 17.07.13 16:17 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Probier mal SendInput:
msdn.microsoft.com/e...646310(v=vs.85).aspx
Vielleicht aktiviert das den Button, wenn der Programmierer das bei Mousedown oder Mouseup eingebaut hat.


Mir ist es hiermit gelungen einen Text in eine Fremde Applikation zu schreiben,
jedoch nicht das senden eines zb. " Ctrl + D "

Wie kann ich das mit der o.g. Funktion bewerkstelligen?

Danke

Alice
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 17.07.13 17:25 
In welcher Reihenfolge sendest du denn?
Funktionieren sollte:
Ctrl down, D down, D up, Ctrl up
Alice Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 120



BeitragVerfasst: Fr 16.08.13 09:33 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
In welcher Reihenfolge sendest du denn?
Funktionieren sollte:
Ctrl down, D down, D up, Ctrl up


Hi,

so hatte ich das auch Versucht. Leider ohne erfolg.

Mit welcher Funktion bewerkstellige ich das am besten?

thx

Alice
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 16.08.13 10:34 
Vielleicht hilft dir das weiter, das ist ein Wrapper für diese Funktion:
www.delphipraxis.net...put-vereinfacht.html

Da du deinen Quelltext nicht gepostet hast, kann ich nicht sagen warum das bei dir nicht funktioniert. Prinzipiell kann die Funktion jedenfalls auch Tastenkombinationen simulieren.