Flexibilný a výkonný programovací jazyk Visual Basic. NET, ktorý je jedným zo špeciálne vytvorených nástrojov na vývoj aplikácií pre platformu Microsoft. NET, umožňuje plne využívať všetky jeho schopnosti. Komponenty menného priestoru System. Diagnostics vám umožňujú predovšetkým komunikáciu s procesmi, protokolmi udalostí a počítadlami výkonu. Napríklad môžete zatvoriť program z jazyka Visual Basic pomocou triedy Process.
Nevyhnutné
Microsoft Visual Studio
Inštrukcie
Krok 1
Importujte menné priestory System, System. Diagnostics a System. Threading. Na začiatok modulu pridajte nasledujúce riadky kódu:
Systém dovozu
Importuje System. Diagnostics
Importuje System. Threading
Je to z dôvodu pohodlia pri používaní komponentov spojených s týmito mennými priestormi.
Krok 2
Získajte údaje o procese, ktorý sa má uzavrieť. Použite objekt triedy System. Diagnostics. Process. Deklarujte premennú tejto triedy:
Dim oProc As Process
Potom pomocou nejakej metódy vyhľadajte požadovaný proces.
Krok 3
Ak je program, ktorý bude treba v budúcnosti ukončiť, spustená vyvíjanou aplikáciou, jednoducho uložte objekt vrátený metódou Start pri štarte:
oProc = Process. Start ("app.exe")
Krok 4
Ak potrebujete zavrieť proces so známym identifikátorom, použite statickú metódu GetProcessById triedy Process na získanie zodpovedajúceho objektu:
oProc = Process. GetProcessById (nID)
Kde nID je číselný identifikátor procesu.
Krok 5
Ak sú známe iba niektoré z charakteristík cieľového procesu, vyhľadajte ich. Získajte zoznam procesov bežiacich na lokálnom počítači ako pole objektov triedy Process. Použite metódy GetProcesses (vráti všetky procesy) alebo GetProcessesByName (iba procesy s daným menom):
Dim aoAllProcesses As Process () = Process. GetProcesses ()
Dim aoProcsByName As Process () = Process. GetProcessesByName ("app.exe")
Zoznam objektov poľa pomocou slučky:
Dim oProc As Process
Pre každý oProc In aoAllProcesses
„akcie týkajúce sa programu oProc
Ďalšie
Prejdite si vlastnosti MainModule, MainWindowTitle, ProcessName atď. nájsť požadovaný objekt.
Krok 6
Pokúste sa program ukončiť odoslaním blízkej správy do jeho hlavného okna. Zavolajte metódu CloseMainWindow objektu zodpovedajúceho cieľovému procesu. V prípade potreby počkajte na dokončenie aplikácie zavolaním aplikácie WaitForExit, napríklad:
oProc. CloseMainWindow ()
oProc. WaitForExit ()
Táto metóda nezaručuje ukončenie programu, pretože správa o zatvorení okna sa často spracováva a je možné ju ignorovať.
Krok 7
Po zavolaní CloseMainWindow počkajte chvíľu, aby ste sa uistili, že program je ukončený. Použite metódu spánku triedy Thread. Potom skontrolujte stav procesu preskúmaním vlastnosti HasExited a ak sa nedokončil, zavolajte metódu Zabiť:
Závit. Spánok (6000)
oProc. Refresh ()
Ak nie, potom oProc. HasExited
oProc. Kill ()
Koniec Ak
Ak je to potrebné, môžete dotazovať na stav procesu v slučke a vydávať pravidelné výzvy používateľovi, aby ukončil aplikáciu bez ukladania údajov. A to iba v prípade, že súhlasíte, že zavoláte Zabiť.
Krok 8
Uvoľnite systémové prostriedky po dokončení programu pomocou metódy Zavrieť:
oProc. Close ()
Krok 9
Ak sa chcete vyhnúť neočakávaným chybám počas vykonávania aplikácie, vložte celý algoritmus ukončenia programu do bloku Try-Catch-End Try. V prípade potreby implementujte plnohodnotné spracovanie výnimiek pomocou diagnostických správ.