Avatar billede repsak Nybegynder
08. juni 2003 - 23:46 Der er 3 kommentarer og
1 løsning

En instans af program

Hvordan gør jeg sådan så at der kun kan være én udgave af mit program åbent af gangen? Således at hvis jeg vil åbne udgave nr. 2 så får jeg pænt en meddelse om at det ikke kan lade sig gøre da programmt allerede er åbent
Avatar billede bennytordrup Nybegynder
09. juni 2003 - 00:06 #1
I et class module:

internal class clsUtils
{
    static clsUtils()
    {}

    public static bool PrevInstance()
    {
        if (System.Diagnostics.Process.GetProcessesByName(System.Diagnostics.Process.GetCurrentProcess().ProcessName).Length > 1)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

}


i static void Main:

static void Main
{
  if (clsUtils.PrevInstance())
  {
      MessageBox.Show("Programmet kan ikke startes, da det allerede er startet en gang.");
  }
  else
  {
      Application.Run(new frmMain));
  }
}
}
Avatar billede repsak Nybegynder
10. juni 2003 - 20:25 #2
Cool tak. Er du ikke rar lige at forklare:
- internal
- System.Diagnostics.Process.GetProcessesByName(System.Diagnostics.Process.GetCurrentProcess().ProcessName).Length > 1

bare i korte træk? :-)
Avatar billede bennytordrup Nybegynder
11. juni 2003 - 08:33 #3
System.Diagnostics.Process er namespace
GetProcessByName returnerer et array af strings med de processer, som hedder noget bestemt.
GetCurrentProcess().ProcessName henter navnet på den kørende proces (den, som indeholder ovenstående kode).
Avatar billede bennytordrup Nybegynder
11. juni 2003 - 08:35 #4
public static bool PrevInstance()
{
  return (bool) (System.Diagnostics.Process.GetProcessByName(System.Diagnostics.Process.GetCurrentProcess().ProcessName).Length > 1)
}

Dette burde give samme resultat (ikke testet)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester