Einzelnen Beitrag anzeigen

ThoPos

Registriert seit: 30. Jun 2004
Ort: Köln
69 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

Re: Ermitteln aller Handle gleicher Programme

  Alt 14. Dez 2007, 08:36
Irgendwie will es nicht klappen:

Im Hauptprogramm habe ich einen Button erstellt:

Delphi-Quellcode:
procedure TFrmMain.btnStatusClick(Sender: TObject);
var
  i : integer;
  lMsg : Cardinal;
begin
  for I := 0 to 9 do
    lstProID.Items[i] := '';
  lstJobs.Clear;
  lMsg := RegisterWindowMessage('StatusabfrageAnAlleFrmBatch');
  PostMessage(HWND_BROADCAST, lMsg, FMain.Handle, 0);
end;
Im Unterprogramm

Delphi-Quellcode:
type
  TFrmBatch = class(TForm)
...
    procedure WndProc(var AMessage: TMessage); override;
    procedure FormCreate(Sender: TObject);
...
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  FrmBatch : TFrmBatch;
  _StatusMessage : Cardinal;

implementation

{$R *.dfm}

procedure TFrmBatch.FormCreate(Sender: TObject);
begin
  _StatusMessage := RegisterWindowMessage('StatusabfrageAnAlleFrmBatch');
end;

procedure TFrmBatch.WndProc(var AMessage: TMessage);
begin
  if (AMessage.Msg = _StatusMessage) then
  begin
    showmessage('Nachricvht empfangen');
  end;
  inherited WndProc(AMessage);
end;
Aber scheinbar empfange ich keine Nachrichten, oder habe ich einfach nur zu kompliziert gedacht?
Thomas
  Mit Zitat antworten Zitat