Som arne_v antyder er der mange måder at gøre det på. Du kan enumerere alle processer eller alle vinduer og se om du kan finde det relevante vindue. Hvilken måde du vælger, kommer an på, hvad du ved om vinduet. Kender du filnavnet, vinduets titel eller dets Class name ?
Her er et eksempel, der kontrollerer om Notepad kører (Enumeration gennem alle vinduer og kontrol om ét passer med class name "Notepad"):
Siden det nu er dit eget program du vil se om kører, kan du jo bruge en mutex som du låser ved opstart og frigiver ved luk... I så fald er det kun den første instans der kan låse mutex'en og alle andre instanser kan fortolke det som at der allerede kører et program.
I programmet der kun skal starte hvis det andet allerede kører gør du : 1) lock mutex 2) Hvis fejl, det andet program har låst den, altså kører det 3) Ellers - det andet program kører ikke, unlock mutex og exit
Et synkroniseringsobjekt som en mutex er den eneste sikre måde at tjekke om et andet program kører eller ej...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.