Zabránění vypnutí formuláře   otázka

VB.NET

Dobrý den,

nemůžu nikde najít postup jak zabránit uživateli vypnout formulář. Mám vypnutý ControlBox a aplikaci odebranou z lišty. Ale rád bych ještě zabránil uživateli vypnout aplikace přes Správce úloh v záložce Aplikace. Aplikaci píšu ve VB.NET 2010. Je nějaký postup?

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

do události formuláře ( Form1_FormClosing )

vložte e.Cancel = True

Pokud bude True - nepůjde formulář zavřít,

pokud dáte False - formulář půjde opět zavřít.

Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        e.Cancel = True
    End Sub
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Obávám se že tohle nepomůže, pokud uživatel odstřelí aplikaci ve správci úloh, aplikace se tak jako tak ukončí (akorát že ne korektně).

Podle mě to takhle lehce nepůjde. Řešením by možná bylo nastavit proces aplikace jako kritický (více zde:

http://www.vbnet.cz/blog-clanek--274-hra...

) ale i tak půjde aplikace vypnout (jen to nebude nikdo dělat, protože mu kvůli tomu spadne systém). Navíc to není z uživatelského hlediska moc dobré a pokud k tomu není zásadní důvod, tak bych se tomu vyhnul.

Proč potřebujete zabránit uživatelům ve vypnutí aplikace? Jedná se o nějaký evidenční systém který je hlídá?

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

Jde o aplikaci kde uživatelé napíšou závady na počítači a ty data se centralizují. Vím, že to nepůjde nikdy dokonale, ale aspoň zabránit vypnutí z tý záložky aplikace.

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

Je třeba si uvědomit, že aby aplikace nešla ukončit vůbec, to by bylo velmi složité udělat. Může totiž ukončit proces aplikace. Pokud jde o to, aby se zabránilo ukončení uživatelem nebo ze Správce úloh na kartě Aplikace, lze použít níže zmiňovanou událost FormClosing a kontrolovat hodnotu CloseReason.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Existuje ještě jedna možnost.

Vytvořte dvě aplikace.

1) hlavní program ( zároveň hlídá spuštění druhého programu )

2) program, který bude hlídat zda-li je hlavní program spuštěn.

Bude-li ukončen hlavní program, hlídací program jej opětovně spustí. Bude-li ukončen hlídací program, hlavní program by ho měl opět spustit.

Ve správci úloh nikdy neukončíte dvě a více aplikace najednou.

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

Tak to je to nejhorší možné řešení, které lze vymyslet.

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

Mě to příjde jako know-how na "potenciálně nechtěnou aplikaci".

nahlásit spamnahlásit spam -1 / 1 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