AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Mutex und Programm nicht doppelt starten
Thema durchsuchen
Ansicht
Themen-Optionen

Mutex und Programm nicht doppelt starten

Ein Thema von kingflo · begonnen am 17. Jan 2007 · letzter Beitrag vom 17. Jan 2007
 
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: Mutex und Programm nicht doppelt starten

  Alt 17. Jan 2007, 08:57
Dein mHandle ist das Handle des Mutex, das geht natürlich nicht!
Was du brauchst ist das Handle auf die bereits laufende Instanz des Programmes, daher das Findwindow. Ich schrieb ja, das dort ein Fehler sein könnte. Such mal hier im Forum nach Mutex und Fenster nach vornebringen, dort gibt es funktionierende Lösungen.

Edit:
Habe eben in der Newsgruppe de.comp.language.delphi.misc ein Beispiel gefunden, (ist von Nineberry, der weiss was er tut)
Delphi-Quellcode:
procedure CheckOnce;
const
  TestTitle = 'Nicoles Einweganwendung testing...';
  AppTitle = 'Nicoles Einweganwendung';
var
  hWnd: THandle;
begin
  // einen anderen Titel setzen, so dass wir uns
  // nicht selbst finden
  Application.Title:= TestTitle;
  hWnd:= FindWindow('TApplication', AppTitle);

  if hWnd <> 0 then
  begin
    // Eine andere Instanz läuft schon;

    // 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;
end;
Damit müsstest du deine andere Instanz finden, der schickst du dann die Message (und wenn du WM_USER + 4711 sendest, dann musst du natürlich auch auf WM_USER + 4711 abfragen)
/Edit
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:30 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