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 ALT + A an fremde Anwendung senden. (https://www.delphipraxis.net/138331-alt-fremde-anwendung-senden.html)

Jackie1983 7. Aug 2009 17:30


ALT + A an fremde Anwendung senden.
 
Servus,

habe hier die Funktion PostKeyExHWND gefunden. Mit dieser Funktion kann ich eine Taste an eine bestimmte Anwendung senden, nur leider klappt das so nicht ganz :(

Fenster finden
Delphi-Quellcode:
  h := WindowFromPoint(pt);
  Windows.ScreenToClient(h, pt);
  h := ChildWindowFromPoint(h, pt);
und dann die Tasten senden
Delphi-Quellcode:
PostKeyExHWND(h, ORD('A'), [ssAlt], false);
habe auch schon probiert
Delphi-Quellcode:
PostKeyExHWND(h, $41, [ssAlt], false);
Aber nichts funktioniert, kann mir da einer weiterhelfen?

Gruß

Jackie1983 7. Aug 2009 17:40

Re: ALT + A an fremde Anwendung senden.
 
ok weis jetzt wieso das kommt, die Anwendung braucht den Focus.
Also wenn ich in der Anwendung bleibe und die Anwendung ist aktiv, derzeit sende ich dann aus meiner Anwendung die Tasten funktioniert es.

Es funktioniert nicht wenn ich die Funktion BringToFront und setfocus aufrufe.
Hat da eventuell jemand ne idee, wie man das ganze lösen könnte,
eventuell ohne das die Anwendung sichtbar sein muss.

gruß

Luckie 7. Aug 2009 19:57

Re: ALT + A an fremde Anwendung senden.
 
Was willst du denn genau machen? In einem Eingabefeld den ganzen Text auswählen? Dann sende doch an das Fenster die Nachricht MSDN-Library durchsuchenEM_SETSEL.

Jackie1983 10. Aug 2009 08:22

Re: ALT + A an fremde Anwendung senden.
 
nein möchte das der Button gedrückt wird. Und mit alt + x geht es weiter.

Möchte gerne von einem Programm ein Script erstellen wo alles drin steht und mein Programm sendet dann die Daten an das Programm. Somit braucht der User nichts einzugeben, sondern das Programm wird auf dem Rechner ohne eingriffe installiert.

toms 10. Aug 2009 08:24

Re: ALT + A an fremde Anwendung senden.
 
Simuliere Klicks auf die Buttons.

Jackie1983 10. Aug 2009 08:26

Re: ALT + A an fremde Anwendung senden.
 
Habe aber doch nur das Handel von der Anwendung. Wie soll ich dann bei einem bestimmten Button ein klick Simulieren.

toms 10. Aug 2009 08:33

Re: ALT + A an fremde Anwendung senden.
 
Zitat:

Zitat von Jackie1983
Habe aber doch nur das Handel von der Anwendung. Wie soll ich dann bei einem bestimmten Button ein klick Simulieren.

Indem du die Handles der Buttons ermittels. (z.B mit WinSpy)

TeronG 10. Aug 2009 08:41

Re: ALT + A an fremde Anwendung senden.
 
Kannst ja auch mal HIER gugn .. sollte/könnte weiterhelfen.

Jackie1983 10. Aug 2009 08:50

Re: ALT + A an fremde Anwendung senden.
 
Zitat:

Zitat von toms
Indem du die Handles der Buttons ermittels. (z.B mit WinSpy)

Aber bei jedem start bekommt doch das Programm ein anderes Handel, deswegen auch die Buttons, nehme ich an.

Zitat:

Zitat von TeronG
Kannst ja auch mal HIER gugn .. sollte/könnte weiterhelfen.

Diese Funktion habe ich auch schon gefunden. Nur dort kann man kein Handel der Anwendung übergeben.

mleyen 10. Aug 2009 08:53

Re: ALT + A an fremde Anwendung senden.
 
Zitat:

Zitat von Jackie1983
Zitat:

Zitat von toms
Indem du die Handles der Buttons ermittels. (z.B mit WinSpy)

Aber bei jedem start bekommt doch das Programm ein anderes Handel, deswegen auch die Buttons, nehme ich an.

Die Handles bekommst du durch die Class- und Windownames. (FindWindowEx)


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:37 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