Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Tastenkombination für ein Programm simulieren (https://www.delphipraxis.net/10261-tastenkombination-fuer-ein-programm-simulieren.html)

KyroxX 14. Okt 2003 20:48


Tastenkombination für ein Programm simulieren
 
Moin ;)

Ich bin dabei ein kleines Programm zu schreiben, welches mir

1. Ein Programm startet:

Delphi-Quellcode:
ShellExecute(0,Nil,PChar('C:\Programme\Rechner.exe'),Pchar(''),Pchar('C:\Programme\'),SW_NORMAL);
und

2. In DIESEM gestarteten Programm eine Tastenkombination ausführt.

Bei diesem Punkt komm ich irgendwie nicht weiter.
Ich weis zwar das ich irgendwie mit:

Delphi-Quellcode:
sendmessage (hwnd, cm_command, ID, 0);
arbeiten muss, aber wie soll das genau funktionieren?
Ich bekomm nur errors ^^

Muss ich das handle des Fensters haben?!

:wiejetzt:

:wall:

Leuselator 14. Okt 2003 20:55

Re: Tastenkombination für ein Programm simulieren
 
Nicht ganz sicher, aber versuch mal:
Delphi-Quellcode:
procedure MachIrgendwas;
var DasHandle : HWND;
begin
  DasHandle := ShellExecute(0,Nil,PChar('C:\Programme\Rechner.exe'),Pchar(''),Pchar('C:\Programme\'),SW_NORMAL);
  SendMessage(DasHandle, cm_command, ID, 0);
end;

Luckie 14. Okt 2003 21:10

Re: Tastenkombination für ein Programm simulieren
 
Shellexecute liefert kein Handle zurück.

@KyroxX: Was soll diese Tastenkombination denn bewirken?

BTW. ich sehe gerade: http://www.delphi-groups.de/YaBBSe/i...threadid=17498

SirThornberry 14. Okt 2003 21:28

Re: Tastenkombination für ein Programm simulieren
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hab in den Anhang mal ne Komponente gestopft die eine Anwendung startet und dann mit einem handle auf dieses fenster weiterarbeitet. Der Erfolg hängt allerdings vom Betriebssystem und dem zu startenden Programm ab. Bei Winzip klappts so weit ich weiß nicht da das handle in dem fall aufs lizensfenster zeigt und dieses ja dann verschwindet... Kannst ja mal posten ob der source der komponente da was gebracht hat oder nicht. bezüglich des sendmessage kann man ja bissl schwer helfen da du nicht geschrieben hast was gesendet werden soll oder ich habs übersehen

himitsu 14. Okt 2003 23:32

Re: Tastenkombination für ein Programm simulieren
 
Liste der Anhänge anzeigen (Anzahl: 1)
Eine weitere Möglichkeit besteht darin Tastaturereignisse zu simulieren. (siehe DL)

Diese werden dann natürlich an die Anwendung gesendet, die auch den Eingabefokus besitzt.

Eine Prozedur um eventuell die gewünschte Anwendung zu aktivieren ist auch mit dabei.


Wie man ans Handle einer Anwendung kommt steht schon im Forum.

KyroxX 18. Okt 2003 15:43

Re: Tastenkombination für ein Programm simulieren
 
Ah THX ;)

Jetzt funzt alles *gg*
fast *gggg*

Ich hab nur noch nen miniproblem:

Deine nette Unit (due ultracool ist) unterstützt kein ALT oder SHIFT ?!
Vielleicht bin ich auch blind ^^

Jedenfalls hab ich mal ALT hinzugefügt und die Checksumme auf 42 gesetzt.
Alles wunderbar nur der reagiert nicht ^^ *gg*

:p

hinzugefügter code:
"(Name:'ALT'; VKey:VK_LBUTTON),"

Hmm hast du ne Idee?

P.s.: MegaTHX für die Codes!

himitsu 18. Okt 2003 15:59

Re: Tastenkombination für ein Programm simulieren
 
Schau mal in Zeile 30...

Bsp.:
'+abc' = Abc
'+(abc) = ABC

KyroxX 18. Okt 2003 16:01

Re: Tastenkombination für ein Programm simulieren
 
*oh* LOOL
Danke *gg*
:oops: :oops:
:twisted:


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:04 Uhr.

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