Zabránění vícenásbonému spuštění aplikace   otázka

VB.NET

Zdravim,

jsem začátčník s Visual Basic.NET. Ztroskotal jsem hned při řešení prvotního požadavku na aplikaci a tím je vícenásobné spuštění.

Chci aby se nedal exe soubor spustit vícekrát než jednou a pokud je apliakce minimalizovaná aby se při zavolání exe souboru (jiným programem) maximalizovala.

Ještě mi vrtá hlavou proč,mnou vytvořená aplikace ukončená kliknutím na hlavním formuláři stále zůstává v procesech?

Děkuji za rady.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

ad 1) Vícenásobné spuštění aplikace můžete zakázat v nastavení projektu (My Project -> první záložka - Application) zaškrtněte zde checkBox "Make single instance application" a je to.

ad 2) Na té samé záložce kde jste v prním kroku zaškrtával checkBox se ujistěte, že je u Shutdown mode nastaveno When startup form closes

nahlásit spamnahlásit spam 0 odpovědětodpovědět

ad 2) Pokud je v task manageru NázevAplikace.vshost.exe, tak ten tam bude pořád, dokud běží Visual Studio.

Objevuje se problém i když aplikaci nespustíte z Visual Studia a nemáte ji ve VS otevřenou?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Abych to tedy upřesnil, mám Visual Studio .NET 2002 samozřejmě s licencí. Bohužel jsem zjistil, že v něm není možné zaškrtnout single instance application.

Zkoušel jsem to tedy jednoduše přes Process.GetProcessesByName(Process.GetCurrentProcess.ProcessName).Length > 1 Then. Ale při spuštění druhé instance mi vyskočí okno just-in-time debugging.

ad 2) Aplikace zůstává v procesech i když nemám VS otevřené!?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Stačí přidat handler na událost Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.StartupNextInstance a příslušně ošetřit. Možnost Single instance application to dělá uplně stejně.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback