Einzelnen Beitrag anzeigen

kingflo

Registriert seit: 21. Jun 2004
Ort: Hamburg
502 Beiträge
 
Delphi 7 Professional
 
#5

Re: Mutex und Programm nicht doppelt starten

  Alt 17. Jan 2007, 10:21
Arghhh... es geht leider nicht, er findet das fenster handle nicht...

meine unit sieht jetzt so aus:


Delphi-Quellcode:
unit mutex;

interface

implementation

uses windows,Dialogs,sysutils,forms,login,messages;

const
  TestTitle = 'StryykeclientTest';
  AppTitle = 'Stryykeclient';
var
  hWnd: THandle;

Initialization


  // einen anderen Titel setzen, so dass wir uns
  // nicht selbst finden
  Application.Title:= TestTitle;
  hWnd := FindWindow('TApplication', AppTitle);
  ShowMessage(Application.Title);
  if hWnd <> 0 then
  begin
    // Eine andere Instanz läuft schon;
    ShowMessage('gefunden');
    // Falls minimiert, wiederherstellen
    if IsIconic(hWnd) then
      ShowWindow(hWnd, SW_SHOW);

    // Diese in den Vordergrund bringen
    SetForegroundWindow(hWnd);

    // Uns selbst schließen
    Halt;
  end;

  // Wir sind die erste Instanz -> Titel setzen, so
  // dass weitere unsfinden
  Application.Title:= AppTitle;
  ShowMessage(Application.Title);
finalization // ... und Schluß

end.
Florian Gilde
  Mit Zitat antworten Zitat