Zadejte hledaný výraz...

C# – Jak docílit následujícího "efektu"

Zdravím.
Chtěl bych se zeptat, jak docílit následujícího v jazyce C#.
Jde mi o to, že když NEADMINISTRÁTORSKÝ uživatel bude chtít ukončit proces, tak to hodí chybu, tak jak je na obrázku, a proces se neukončí.
Jak se to dá udělat?
Snažil jsem se googlit, avšak neúspěšně.
Děkuji za cenné odpovědi
2. 5. 2015 14:54:11
https://webtrh.cz/diskuse/c-jak-docilit-nasledujiciho-efektu#reply1110616
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
2. 5. 2015 15:32:12
Je to sice už nějakou dobu, co jsem v c# něco dělal, tak to ber z teoretického hlediska a když tak si k tomu ještě něco vygoogli.
Aplikace je nejspíše spuštěna s právy administrátora. K projektu v C# vytvoříš manifest a v něm upravíš
na
tak se aplikace vždy spustí s administrátorskými právy. Pak by se v registrech kam má přístup jen administrátor měl přidat záznam - po startu pc zapnout tuto appku. Nevím teď ale, jestli to uživatele 'Ja' nevyzve k zadání administrátorských údajů, jinak appku nespustí.. Tohle by každopádně bylo první co bych vyzkoušel, kdybych něco takového řešil, snad pomůže.
2. 5. 2015 15:32:12
https://webtrh.cz/diskuse/c-jak-docilit-nasledujiciho-efektu#reply1110615
Tak jsem Váš návod vyzkoušel, a opravdu jsou vyžadovány na začátku údaje administrátora, což by být nemělo. Nevím jak to má daná aplikace řešeno, ale funguje tak, že se sama po spuštění neadministrátora zapne, a nejde ukončit.
2. 5. 2015 15:48:25
https://webtrh.cz/diskuse/c-jak-docilit-nasledujiciho-efektu#reply1110614
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
2. 5. 2015 16:01:49
Zkus mrknout ještě třeba na tohle - http://stackoverflow.com/questions/5427673/how-to-run-a-program-automatically-as-admin-on-windows-startup zaujal mě komentář
This is not possible.
However, you can create a service that runs under an administrative user.
The service can run automatically at startup and communicate with your existing application.
When the application needs to do something as an administrator, it can ask the service to do it for it.
Remember that multiple users can be logged on at once.
Hledal jsem to pod dotazem "windows 7 run program as administrator on startup", každopádně s tím service to nevypadá špatně, protože by to mělo fungovat napříč verzemi winu.
2. 5. 2015 16:01:49
https://webtrh.cz/diskuse/c-jak-docilit-nasledujiciho-efektu#reply1110613
Zrovna na tento článek jsem se díval.
Ovšem mě zaujalo to, že aplikace, z které jsem sem postnul screen, administrátorská oprávnění při spuštění nevyžaduje, a přesto nejde jako standartní uživatel ukončit. Tato aplikace také nemá vytvořenou žádnou službu, která by zajištovala její funkčnost, což je zajímavé.
Vytvořit aplikaci jako službu mi příjde irevelantní, protože toto potřebuji u GUI aplikace, což být služba nemůže.
---------- Příspěvek doplněn 02.05.2015 v 15:45 ----------
Mám na mysli tady toto.
https://www.youtube.com/watch?v=0yYZaC2WFaU
Ale jak toho v C# docílit, opravdu nevím.
2. 5. 2015 16:07:21
https://webtrh.cz/diskuse/c-jak-docilit-nasledujiciho-efektu#reply1110612
Zkuste zde http://csharptest.net/1043/how-to-prevent-users-from-killing-your-service-process/
Ale nevím, jestli to spolehlivě funguje na nových Win.
2. 5. 2015 16:49:05
https://webtrh.cz/diskuse/c-jak-docilit-nasledujiciho-efektu#reply1110611
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
2. 5. 2015 16:56:59
Bude GUI aplikace spuštěna u uživatele a služba. Když bude GUI aplikace něco chtít pošle zprávu službě a ta to provede.
Došly mi nápady, zkus ten proces zabít ještě podle některého z komentářů zde - http://superuser.com/questions/109010/kill-a-process-which-gives-access-denied pokud to půjde tak ti to řekne hlavně to, že to nejspíše administrátor nespustil a ta ochrana je v aplikaci řešená nějakou berličkou (alespoň myslím, tohle jsem nikdy neřešil a vzhledem k tomu, že tu nikdo jiný nepíše, tak to zkouším alespoň odboku já)
2. 5. 2015 16:56:59
https://webtrh.cz/diskuse/c-jak-docilit-nasledujiciho-efektu#reply1110610
Napsal mytrix;1191662
Zkuste zde http://csharptest.net/1043/how-to-prevent-users-from-killing-your-service-process/
Ale nevím, jestli to spolehlivě funguje na nových Win.
Bohužel, návod jsem teď zkoušel, ovšem neúspěšně
Napsal denoy;1191663
Bude GUI aplikace spuštěna u uživatele a služba. Když bude GUI aplikace něco chtít pošle zprávu službě a ta to provede.
Došly mi nápady, zkus ten proces zabít ještě podle některého z komentářů zde - http://superuser.com/questions/109010/kill-a-process-which-gives-access-denied pokud to půjde tak ti to řekne hlavně to, že to nejspíše administrátor nespustil a ta ochrana je v aplikaci řešená nějakou berličkou (alespoň myslím, tohle jsem nikdy neřešil a vzhledem k tomu, že tu nikdo jiný nepíše, tak to zkouším alespoň odboku já)
Proces zabíjet nechci. Já potřebuji přesný opak. Aby když se někdo snaží ukončit proces, aby jej to neukončilo a místo ukončení to hodilo tu chybu. Nikoliv ukončit či killnout proces. Přesný opak
2. 5. 2015 17:05:32
https://webtrh.cz/diskuse/c-jak-docilit-nasledujiciho-efektu#reply1110609
t-pack25
verified
rating uzivatele
2. 5. 2015 17:23:35
kyborg
Ja by som sa na to pozrel z trochu inej strany. Aký úžitok bude mať pre užívateľa, keď nebude môcť killnúť proces?
2. 5. 2015 17:23:35
https://webtrh.cz/diskuse/c-jak-docilit-nasledujiciho-efektu#reply1110608
@t-pack25
Dejme tomu, že to bude software pro internetovou kavárnu, který bude "hlídat" kolik času mu zbývá do konce vypršení "předplaceného období." Poté tam zkočí úvodní obrazovka. Bylo by velmi nežádoucí, kdyby uživatel tento proces killnul, a tím by měl vlastně neomezenou dobu.
2. 5. 2015 17:38:08
https://webtrh.cz/diskuse/c-jak-docilit-nasledujiciho-efektu#reply1110607
No tak to nepůjde tak jak chcete, filozofie windows kráčí přesným opakem.
Správně by ta aplikace měla běžet pod admin právy s tím, že se spustí po startu počítače. Spouštět ji lze pod admin právy (bez zadání hesla) přes Task scheduler, kde přesně tato volba je. No a následně již ukončit nepůjde.
2. 5. 2015 17:56:11
https://webtrh.cz/diskuse/c-jak-docilit-nasledujiciho-efektu#reply1110606
azka
verified
rating uzivatele
(2 hodnocení)
2. 5. 2015 18:49:37
Co treba zkusit tuto moznost? http://stackoverflow.com/a/14278714/1907746
C# neznam, stacily mi 2 semestry :)
2. 5. 2015 18:49:37
https://webtrh.cz/diskuse/c-jak-docilit-nasledujiciho-efektu#reply1110605
Napsal azka;1191691
Co treba zkusit tuto moznost? http://stackoverflow.com/a/14278714/1907746
C# neznam, stacily mi 2 semestry :)
Celý task manager bych zakazovat nechtěl.
Napsal mytrix;1191676
No tak to nepůjde tak jak chcete, filozofie windows kráčí přesným opakem.
Správně by ta aplikace měla běžet pod admin právy s tím, že se spustí po startu počítače. Spouštět ji lze pod admin právy (bez zadání hesla) přes Task scheduler, kde přesně tato volba je. No a následně již ukončit nepůjde.
Ovšem je zajímavé, že takové aplikace existují, a absolutně se nedá dohledat, jak je to udělané. Doufal jsem, že tady s tím někdo bude mít zkušenosti.
2. 5. 2015 19:46:55
https://webtrh.cz/diskuse/c-jak-docilit-nasledujiciho-efektu#reply1110604
Ona může mít klidně spuštěnou nějakou pod úlohu s právy jiného uživatele. Pak není možné takový proces ukončit.
Ale jak říkám, doporučuji jít cestou, že bude úloha spuštěna s admin právy.
2. 5. 2015 19:58:02
https://webtrh.cz/diskuse/c-jak-docilit-nasledujiciho-efektu#reply1110603
Pro odpověď se přihlašte.
Přihlásit