Kako Zatvoriti Program Iz Visual Basic-a

Sadržaj:

Kako Zatvoriti Program Iz Visual Basic-a
Kako Zatvoriti Program Iz Visual Basic-a

Video: Kako Zatvoriti Program Iz Visual Basic-a

Video: Kako Zatvoriti Program Iz Visual Basic-a
Video: Программирование на Visual Basic с нуля #1 2024, Novembar
Anonim

Fleksibilni i moćni programski jezik Visual Basic. NET, koji je jedan od posebno kreiranih alata za razvoj aplikacija za Microsoft. NET platformu, omogućava vam da u potpunosti iskoristite sve njegove mogućnosti. Konkretno, komponente prostora imena System. Diagnostics omogućuju vam interakciju s procesima, zapisnicima događaja i brojačima performansi. Na primjer, možete zatvoriti program iz Visual Basic-a pomoću klase Process.

Kako zatvoriti program iz Visual basic-a
Kako zatvoriti program iz Visual basic-a

Potrebno

Microsoft Visual Studio

Instrukcije

Korak 1

Uvezite prostore imena System, System. Diagnostics i System. Threading. Na početak modula dodajte sljedeće redove koda:

Sistem uvoza

Uvozi System. Diagnostics

Uvozi System. Threading

Ovo je samo radi praktičnosti korištenja komponenata povezanih s tim imenskim prostorima.

Korak 2

Pribavite podatke o procesu koji treba zatvoriti. Koristite objekt klase System. Diagnostics. Process. Proglasite varijablu ove klase:

Dim oProc kao proces

Zatim pomoću neke metode pronađite traženi postupak.

Korak 3

Ako se program koji će u budućnosti trebati zatvoriti pokrene aplikacija koja se razvija, tada jednostavno spremite objekt vraćen metodom Start pri pokretanju:

oProc = Process. Start ("app.exe")

Korak 4

Ako trebate zatvoriti postupak poznatim identifikatorom, upotrijebite statičku metodu GetProcessById klase Process da biste dobili odgovarajući objekt:

oProc = Process. GetProcessById (nID)

Gdje je nID numerički identifikator procesa.

Korak 5

Ako su poznate samo neke karakteristike ciljnog procesa, potražite ga. Nabavite popis procesa koji se izvode na lokalnoj mašini kao niz objekata klase Process. Koristite metode GetProcesses (vraća sve procese) ili GetProcessesByName (samo procese s danim imenom):

Dim aoAllProcesses As Process () = Process. GetProcesses ()

Dim aoProcsByName As Process () = Process. GetProcessesByName ("app.exe")

Popis objekata niza pomoću petlje:

Dim oProc kao proces

Za svaki oProc u svim procesima

'akcije na oProc

Sljedeći

Prelistajte svojstva MainModule, MainWindowTitle, ProcessName itd. pronaći željeni predmet.

Korak 6

Pokušajte prekinuti program slanjem bliske poruke u njegov glavni prozor. Pozovite metodu CloseMainWindow objekta koji odgovara ciljnom procesu. Ako je potrebno, pričekajte da se aplikacija dovrši pozivom WaitForExit, na primjer:

oProc. CloseMainWindow ()

oProc. WaitForExit ()

Ova metoda ne garantira prekid programa, jer se poruka o zatvaranju prozora često obrađuje i može se zanemariti.

Korak 7

Pričekajte kratko vrijeme nakon poziva CloseMainWindow kako biste osigurali da se program završava. Koristite metodu spavanja klase Thread. Zatim provjerite status procesa ispitivanjem svojstva HasExited i, ako nije završen, pozovite metodu Kill:

Thread. Sleep (6000)

oProc. Refresh ()

Ako nije oProc. HasExited Tada

oProc. Kill ()

Kraj ako

Ako želite, možete anketirati status procesa u petlji, izdajući povremene upite korisniku da prekine aplikaciju bez spremanja podataka. I to samo ako pristanete nazvati Kill.

Korak 8

Oslobodite sistemske resurse nakon završetka programa metodom Close:

oProc. Close ()

Korak 9

Da biste izbjegli neočekivane greške tijekom izvršavanja aplikacije, postavite cijeli algoritam zatvaranja programa u blok Try-Catch-End Try. Po potrebi implementirajte punopravno rukovanje iznimkama s dijagnostičkim porukama.

Preporučuje se: