Witam. Mam pytanie. Czy można i jak jeśli można zrobić takie cuś, żeby np. jedną aplikacją sterować drugą?
Poszukaj pod hasłem IPC (interprocess communication).
Mógłbyś jakiegoś linka dać? Nic nie znalazłem ;/
Jaja se robisz co nie. Bo jak ja z ciekawości wpisałem w googlach http://www.google.pl/search?aq=f&hl=pl&q=%2Bdelphi+%22interprocess+communication%22&btnG=Szukaj&lr=
To znalazłem 3 darmowe komponenety, Broadcast, Pipe i simpleIPC które mogą być przydatne.
Google nie gryzie.
A jakiś link do tego simpleIPC?
szukałem, ale nic nie znalazłem.
Jakbyś szukał, to nawet na Wikipedii byś znalazł: http://pl.wikipedia.org/wiki/IPC .
Chodziło mi o link do komponentu...
Wiem, udzieliłem Ci odpowiedzi na wcześniejsze "Mógłbyś jakiegoś linka dać?". IPC to cały zbiór mechanizmów a nie jedna technologia, więc po prostu zajrzyj tam, gdzie wskazałem.
No zajrzałem, ale prosiłbym o jakiś link do tego komponentu :)
Znaczy nie do końca wyciągnąłeś wnioski z tego, co czytasz.
Najprostsze sterowanie na przykładzie kolejki komunikatów:
- aplikacja sterująca - akcja na przycisk:
var
lOkno: THandle;
lResult: Integer;
begin
lOkno := FindWindow('TForm2', nil);
if (lOkno <> 0) then begin
lResult := SendMessage(lOkno, WM_USER, 1234, 5678);
Caption := Format('%d', [lResult]);
end;
end;
- aplikacja sterowana - całość kodu (ważne, że klasa okna to TForm2)
unit Unit1;
interface
uses
Windows, Messages, Forms, SysUtils;
type
TForm2 = class(TForm)
public
procedure Akcja(var avMessage: TMessage); message WM_USER;
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Akcja(var avMessage: TMessage);
begin
Caption := Format('%d, %d', [avMessage.WParam, avMessage.LParam]);
avMessage.Result := avMessage.LParam - avMessage.WParam;
end;
end.
.. i tyle. Jedna aplikacja przesyła dwie liczby, druga odpowiada, zwracając ich różnicę. Odpalasz obie i klikasz przycisk. To najprostszy sposób komunikacji 1 do 1 (rozwiązywanie kwestii, gdy masz kilka okien o klasie TForm2 pozostawiam Tobie).
Nauka nie polega na czytaniu, ale na czytaniu i poszerzaniu wiedzy. Dałem Ci arta o IPC. Powinieneś go przeczytać, dowiedziałbyś się, że istnieje takie coś jak mutex i można to wykorzystać do tego i tego. Potem zajrzałbyś do tutorialka/google/helpa pod to hasło i poznał główne funkcje a często i całe przykłady. Na tym polega nauka..
Dzięki :)