Autor Beitrag
stiftmaster
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149



BeitragVerfasst: Do 30.08.12 16:21 
Hallo,

ich habe zwei Programme in Delphi 7 geschrieben. Das Programm 1 ruft via ShellExecute() das Programm 2 auf und setzt dann die eigene Form auf Hide. Das klappt problemlos.

Nun soll bei einem Buttonklick in Program 2 eine Nachricht an Programm 1 geschickt werden und sich dieses dann wieder mit Form.Show() melden.

Leider raffe ich nicht, was ich Program 2 als Startparameter übergeben muss, damit es weiß, an wen eine Nachricht geschickt wird.

Kann mir da jemand helfen?

Danke und Gruß

Stefan
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Do 30.08.12 17:19 
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
unit Unit5;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,Shellapi;

type
  TForm5 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    FCallerHandle:integer;
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);
begin
  Shellexecute(handle,'OPEN',PChar(Application.ExeName),Pchar(IntToStr(Handle)),'',sw_Show);
  Hide;
end;

procedure TForm5.Button2Click(Sender: TObject);
begin
  ShowWindow(FCallerHandle,sw_Restore);
end;

procedure TForm5.FormCreate(Sender: TObject);
begin
   if not TryStrToInt(Paramstr(1),FCallerHandle) then FCallerHandle := 0;
end;

end.

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS