Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi [mutex] - Parameter an "alte" Anwendung geben (https://www.delphipraxis.net/87657-%5Bmutex%5D-parameter-alte-anwendung-geben.html)

xZise 3. Mär 2007 22:58


[mutex] - Parameter an "alte" Anwendung geben
 
Wie kann ich die Parameter an die alte Anwendung geben, wenn das akt. Programm par Mutex blockiert wird?

Akt. Mutexdatei:
Delphi-Quellcode:
unit mutex;

interface

implementation

uses Windows, Dialogs;

var
    mHandle: THandle;
  wnd: HWND;

initialization
 mHandle := CreateMutex(Nil, True, PChar('QuickInstallByXzise'));

   if GetLastError = ERROR_ALREADY_EXISTS then
   begin
    Showmessage('Anwendung ist bereits gestartet!');

    wnd := FindWindow('TfrmQuinstall', 'QuickInstall');
    if wnd <> 0 then
    begin
      SetForegroundWindow(wnd);
    end;
     Halt;
   end;

finalization
 if mHandle <> 0 then
   CloseHandle(mHandle);

end.

bitsetter 3. Mär 2007 23:19

Re: [mutex] - Parameter an "alte" Anwendung geben
 
Hi,

dazu gab es schon mal ein Thema, hast du dir dieses hier mal angesehen?

Gibt es auch eine Möglichkeit die Parameter umzuleiten auf das bereits laufende Programm?

Christian Seehase 4. Mär 2007 00:37

Re: [mutex] - Parameter an "alte" Anwendung geben
 
Moin Fabian,

solche Überprüfungen sind, IMHO, aber besser in der Projektdatei aufgehoben.

himitsu 4. Mär 2007 08:13

Re: [mutex] - Parameter an "alte" Anwendung geben
 
Per Halt; abzubrechen ist auch nicht unbeding eine elegante Lösung.
(dieses liese sich direkt in der Projektdatei dann auch "besser" lösen)

xZise 4. Mär 2007 09:31

Re: [mutex] - Parameter an "alte" Anwendung geben
 
Ihr meint, dass ich alles mit "Application." in eine "erfolgreiche"-If packe?
Ließe sich machen!
Und wäre auch nicht so dumm ;)

Obwohl diese Datei als erstes in der Uses steht, also wahrscheinlich vor fast allen ausgelöst wird ;)
Aber ich gebe euch recht dass es immer noch über eine If-Bedinung wesentlich elegangter wäre ;)

PS: @ Bitsetter: Danke für den Link!

[edit]Code
Problem: "dwMessage" kennt er nicht!
Units sind eingebunden[/edit]

bitsetter 4. Mär 2007 10:02

Re: [mutex] - Parameter an "alte" Anwendung geben
 
Hi.

Christian Seehase hat geschrieben:
Delphi-Quellcode:
  // Die Variable dwMessage ist in der Unit MAIN deklariert, da sie dort noch
  // gebraucht wird

Delphi-Quellcode:
unit MAIN;

interface

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

type
  TfrmMAIN = class(TForm)
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormShow(Sender: TObject);
  protected
    // WndProc für eigene Message überschreiben
    procedure WndProc(var msg : TMessage); override;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  frmMAIN: TfrmMAIN;
  dwMessage : DWORD;//hier ist sie!

xZise 4. Mär 2007 11:43

Re: [mutex] - Parameter an "alte" Anwendung geben
 
OOPs... Wie Peinlich :pale: :oops:


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

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz