Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Programm mehrfach starten (https://www.delphipraxis.net/108522-programm-mehrfach-starten.html)

Relicted 15. Feb 2008 11:40


Programm mehrfach starten
 
Huhu!

Also mal wieder was für die grauen Zellen:
Folgendes Problem: Ich habe ein Programm, welches verhindert dass es mehrfach gestartet wird. Ich benötige leider aber das Programm 2 mal offen. Kennt wer von euch eine Möglichkeit:
a) zu ermitteln wie es sich vor mehrfach start schützt
b) wie man allgemein es ermöglicht ein programm mehrfach zu starten

Gruß
Reli

toms 15. Feb 2008 11:47

Re: Programm mehrfach starten
 
Hallo, das Programm überprüft ja am Anfang, ob schon eine zweite Instanz läuft.
Du müsstest die Stelle herausfinden wo die Überprüfung statt findet und diese dann patchen.
(fall dies legal ist...)

Also im Prinzip müsste die Stelle der Überprüfung

Code:
If ProgrammRunning then Exit
(Pseudo-Code)

exkludiert resp. überprungen werden.

STS301 15. Feb 2008 11:48

Re: Programm mehrfach starten
 
ich benutze zur Zeit das damit es nicht mehrfach geöffnet wird, vielleicht hilft der Trick
Delphi-Quellcode:
var mHandle: THandle;   // Mutexhandle

Initialization
  mHandle := CreateMutex(nil,True,'schuelerplaner');
  // 'xxxxx' Der Anwendungsname ist hier einzutragen
  if GetLastError = ERROR_ALREADY_EXISTS then begin  
    // Anwendung läuft bereits
  showMessage('Anwendung läuft bereits!!!!!');  
    // Wenn du deine Meldung willst, mach die Klammern weg
    Halt;
  end;

finalization  // ... und Schluß 
  if mHandle <> 1 then //1 statt 0, vielleicht funktioniert es
    CloseHandle(mHandle)

Xong 15. Feb 2008 11:48

Re: Programm mehrfach starten
 
Zitat:

Zitat von Relicted
Ich habe ein Programm, welches verhindert dass es mehrfach gestartet wird. Ich benötige leider aber das Programm 2 mal offen.

:?: Öhm?

Zitat:

Zitat von Relicted
Kennt wer von euch eine Möglichkeit:
a) zu ermitteln wie es sich vor mehrfach start schützt

In den Quellcode schauen. Den müsstest du aber haben. Ist schließlich dein Programm! :stupid:

Zitat:

Zitat von Relicted
b) wie man allgemein es ermöglicht ein programm mehrfach zu starten

Ist eigentlich der Standardfall.


Ich glaube, ich brauche eine Nachhilfe bzgl. deiner Erklärung.

LG,
Xong

EDIT: Idee: Stammt das Programm nicht von dir und du suchst nach einer Möglichkeit, es zweimal zu starten?

Relicted 15. Feb 2008 11:51

Re: Programm mehrfach starten
 
Zitat:

Zitat von toms
(fall dies legal ist...)

in den lizenzvereinbarungen steht nichts davon dass es nicht legal wäre.



Zitat:

Zitat von Xong
Zitat:

Zitat von Relicted
Ich habe ein Programm, welches verhindert dass es mehrfach gestartet wird. Ich benötige leider aber das Programm 2 mal offen.

:?: Öhm?

Zitat:

Zitat von Relicted
Kennt wer von euch eine Möglichkeit:
a) zu ermitteln wie es sich vor mehrfach start schützt

In den Quellcode schauen. Den müsstest du aber haben. Ist schließlich dein Programm! :stupid:

Zitat:

Zitat von Relicted
b) wie man allgemein es ermöglicht ein programm mehrfach zu starten

Ist eigentlich der Standardfall.


Ich glaube, ich brauche eine Nachhilfe bzgl. deiner Erklärung.

LG,
Xong

EDIT: Idee: Stammt das Programm nicht von dir und du suchst nach einer Möglichkeit, es zweimal zu starten?

richtig das programm stammt nicht von mir :-) sonst wärs ja zu einfach :-)

danke @ STS301 - den trick kenn ich nur leider hilft er mir in diesem kontext nicht wirklich weiter :-) ausser es ist möglich vielleicht den mutex aller programme mit zuweisung herauszufinden um danach zu schauen un den dann zu eliminieren :-)

Reinhard Kern 15. Feb 2008 11:58

Re: Programm mehrfach starten
 
Zitat:

Zitat von Relicted
Huhu!

Also mal wieder was für die grauen Zellen:
Folgendes Problem: Ich habe ein Programm, welches verhindert dass es mehrfach gestartet wird. Ich benötige leider aber das Programm 2 mal offen. Kennt wer von euch eine Möglichkeit:
a) zu ermitteln wie es sich vor mehrfach start schützt
b) wie man allgemein es ermöglicht ein programm mehrfach zu starten

Gruß
Reli

Hallo,

dass ein Programm mehrfach gestartet werden kann, ist eigentlich der Normalfall. Wenn man das nicht will, muss man etwas dagegen unternehmen. Leider gibt es dafür verschiedene Möglichkeiten und die üblichen sind auch nicht so leicht aufzudecken - ich benutze einen Mutex, andere nehmen eine Semaphore oder senden Messages. Ich verwende dafür den Namen der Anwendung plus _Mutex, also sowas wie MyApp_Mutex. Dabei habe ich den Anwendungsnamen fest vorgegeben, es ist also egal, wenn man die Exe umbenennt; bei einem fremden Programm kann man aber mal probieren, ob es sich 2 mal starten lässt, wenn man es 2 mal an verschiedenen Orten installiert und/oder die Exe umbenennt, manchmal geht das, wenn der Programmierer für seine Sperre den tatsächlichen Exe-Namen verwendet.

Gruss Reinhard

SirThornberry 15. Feb 2008 12:21

Re: Programm mehrfach starten
 
hast du mal beim hersteller nachgefragt? Ich denke das ist die einfachste Möglichkeit. Dann weißt du auch was der davon hält das du sein Programm ändern willst. Wenn niemand beim Hersteller wegen sowas anfragt wissen die natürlich nichts davon das es gewünscht sein könnte und können es somit auch nicht ändern.

um welches Programm handelt es sich?

Relicted 15. Feb 2008 13:48

Re: Programm mehrfach starten
 
kopieren etc klappt ned.
kann leider keinen kontakt zum entwickler bekommen - webseite down und mailadresse funzt auch nicht mehr. das hab ich vor urzeiten als freeware mal ausm netz gezogen daher *shrug*

inherited 15. Feb 2008 14:04

Re: Programm mehrfach starten
 
Um welches Programm handelt es sich denn?

API 18. Feb 2008 06:22

Re: Programm mehrfach starten
 
Wenn das Programm mit Mutex arbeitet kann man probieren das Mutex zu hooken (Siehe hier)


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:30 Uhr.

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