|
| Win32: Check om samme program kører i forv~ Fra : John Ekblom |
Dato : 26-08-02 22:11 |
|
Er der nogen der kender en smart metode til at tjekke om et program man
forsøger at starte allerede kører i forvejen ?
Metoden skal helst fungerer under alle Win32 styresystemer (95, 98, ME, NT,
2000, XP).
Jeg har tidligere anvendt en metode hvor jeg i starten af programmet laver
et Mutex (CreateMutex) med et bestemt navn. Jeg kunne så finde ud af om
programmet kørte i forvejen ved at tjekke om dette Mutex eksisterede. Jeg
har imidlertid nu opdaget at denne teknik ikke fungerer under Windows 2000.
Jeg er klar over at man kan lave et tjek via dannelse af en fil med et
givent navn (som man så skal huske at slette når programmet afsluttes).
Denne metode dog mildest talt uelegant og ved evt. programnedbrud (hvor
filen ikke bliver slettet) vil man derefter ikke umiddelbart vil være i
stand til at køre programmet. Jeg vil derfor meget nødigt anvende denne
"filløsning".
Håber at nogen her kender til en god og enkel metode.
På forhånd tak for hjælpen.
------------------------------------------
Med venlig hilsen
John Ekblom
| |
Riverwind (26-08-2002)
| Kommentar Fra : Riverwind |
Dato : 26-08-02 22:36 |
| | |
John Ekblom (28-08-2002)
| Kommentar Fra : John Ekblom |
Dato : 28-08-02 17:58 |
|
Tak for hjælpen.
Det ser ud til at være lige det jeg skal bruge.
--
------------------------------------------
Med venlig hilsen
John Ekblom
"Riverwind" <riverwind@heaven.dk> wrote in message
news:ake6vf$27g0$1@news.cybercity.dk...
> Prøv at kigge på http://www.pgh.net/~newcomer/nomultiples.htm
> Der er nogle forslag til en strategi.
>
> /Riverwind
>
>
| |
Martin M. Pedersen (28-08-2002)
| Kommentar Fra : Martin M. Pedersen |
Dato : 28-08-02 20:05 |
|
Hej,
"John Ekblom" <ekblom@image.dk> wrote in message
news:WVwa9.22108$ww6.2283684@news010.worldonline.dk...
> Jeg er klar over at man kan lave et tjek via dannelse af en fil med et
> givent navn (som man så skal huske at slette når programmet afsluttes).
En variation over denne er at låse en fil (fx den første 1 byte). Det løser
problemet med nedbrud (da låsen bliver frigivet), og giver en mekanisme, der
virker over netværk. Om det er ønskeligt, afhænger naturligvis af, hvorfor
man ikke ønsker mere end en instans af programmet. Hvis det er for at sikre
at der ikke bliver arbejdet på programmets filer i mere end en instans, er
det en bedre løsning end fx semaforer.
mvh.
Martin
| |
|
|