Protejarea procesului de închidere (crimă) în ghidajul în trei pași pentru c #

Protejarea procesului de închidere (crimă) în trei etape!

Protejarea procesului de închidere (crimă) în ghidajul în trei pași pentru c #

1) Conectați spațiul de nume avem nevoie de biblioteci:

2) Introduceti codul din codul formularului principal:
3) Apel oriunde în procesul de protecție, de exemplu, atunci când aplicația începe: Pentru a testa eficiența acestui exemplu, compila proiectul și rulați fișierul rezultat * .exe. în dosarul Debug. Start Task Manager, și să navigați la fila „Procese“. găsi procesul proiectului.

Protejarea procesului de închidere (crimă) în ghidajul în trei pași pentru c #


Asigurați-un clic dreapta pe butonul de proces al mouse-ului și alegeți din meniul contextual selectați „End Process“. Task Manager vă va da mesajul „Chiar vrei să termin.“, Selectați „End Process“.

Protejarea procesului de închidere (crimă) în ghidajul în trei pași pentru c #

Rezultatul, atunci când procesul este încercarea completă este:

Protejarea procesului de închidere (crimă) în ghidajul în trei pași pentru c #

Din anumite motive, aceasta nu funcționează. Totul este bine compilat, dar procesul Task Manager poate fi în continuare ucis.

Bună Igor, totul funcționează bine, încercați să descărcați un eșantion. și de a face totul așa cum scrie în instrucțiunile!

Descărcat, am schimbat, că pur și simplu nu, problema este că GetCurrentProcess () returnează -1. Am încercat să transmită și (int) GetCurrentProcessId) ((). Funcția Process.GetProcessById mâner, în cazul în care GetCurrentProcessId (), de asemenea, apishnaya și Process.GetCurrentProcess (). Manevrați, returnează diferiți descriptori, dintre care toți au schimbat în timp. Complet întocmită de mai sus codul scris, în mod logic, el trebuie să lucreze cu siguranță, eu nu înțeleg ce este greșit.

Tu sursa SafityProcess.exe fugi? Rula fără drepturi de administrator! Testat pe 3 mașini diferite (XP / Vista / 7) și pe toate lucrările!

Cred că am înțeles ce truc, eu sunt în sistem sub administratorului mă duc, am alte conturi pe care și nu. Am creat unul nou, a trecut prin ea, funcționează. Mulțumesc pentru ajutor. Spune-mi, cum poate dreptul de a crește, astfel încât administratorul nu prin Task Manager poate pentru a închide procesul. Set, de exemplu, ca sistemul de proprietar, adică sistemul, astfel de procese, cum ar fi chiar prin managerul admin nu va fi ucis.

Într-adevăr, în cazul în care acest exemplu este rulat sub un cont de administrator, atunci procesul este închis. Dar dacă rulați ca un cont de utilizator normal (chiar dacă acesta este adăugat la grupul de administratori), apoi exemplul funcționează. Problema va fi rezolvată.