Det fleksible og kraftfulde programmeringssprog Visual Basic. NET, der er et af de specielt oprettede værktøjer til udvikling af applikationer til Microsoft. NET-platformen, giver dig mulighed for fuldt ud at bruge alle dens muligheder. Specielt giver komponenterne i navneområdet System. Diagnostics dig mulighed for at interagere med processer, hændelseslogfiler og præstationstællere. For eksempel kan du lukke et program fra Visual Basic ved hjælp af klassen Process.
Nødvendig
Microsoft Visual Studio
Instruktioner
Trin 1
Importer navneområderne System, System. Diagnostics og System. Threading. Tilføj følgende kodelinjer til begyndelsen af modulet:
Import System
Importerer system. Diagnostik
Importsystem. Trådning
Dette er kun for nemheds skyld at bruge de komponenter, der er knyttet til disse navneområder.
Trin 2
Få dataene fra processen, der skal lukkes. Brug objektet System. Diagnostics. Process. Erklær en variabel i denne klasse:
Dim oProc som proces
Brug derefter en metode til at finde den krævede proces.
Trin 3
Hvis programmet, der skal lukkes i fremtiden, startes af den applikation, der udvikles, skal du blot gemme det objekt, der returneres ved startmetoden ved opstart:
oProc = Process. Start ("app.exe")
Trin 4
Hvis du har brug for at lukke en proces med en kendt identifikator, skal du bruge den statiske GetProcessById-metode i procesklassen for at hente det tilsvarende objekt:
oProc = Process. GetProcessById (nID)
Hvor nID er den numeriske identifikator for processen.
Trin 5
Hvis kun nogle af egenskaberne ved målprocessen er kendt, skal du søge efter den. Få listen over processer, der kører på den lokale maskine som en matrix med objekter i procesklassen. Brug metoderne GetProcesses (returnerer alle processer) eller GetProcessesByName (kun processer med det givne navn):
Dim aoAllProcesses As Process () = Process. GetProcesses ()
Dim aoProcsByName As Process () = Process. GetProcessesByName ("app.exe")
Liste over array-objekter ved hjælp af en loop:
Dim oProc som proces
For hver oProc i aoAllProcesses
'handlinger på oProc
Næste
Gennemse egenskaberne MainModule, MainWindowTitle, ProcessName osv. for at finde det ønskede objekt.
Trin 6
Prøv at afslutte programmet ved at sende en tæt besked til hovedvinduet. Ring til CloseMainWindow-metoden for det objekt, der svarer til målprocessen. Vent om nødvendigt til applikationen er færdig ved at ringe til WaitForExit, for eksempel:
oProc. CloseMainWindow ()
oProc. WaitForExit ()
Denne metode garanterer ikke programmets afslutning, da meddelelsen om lukning af vindue ofte behandles og kan ignoreres.
Trin 7
Vent i en kort periode efter at have ringet til CloseMainWindow for at sikre, at programmet afsluttes. Brug søvnmetoden i trådklassen. Kontroller derefter status for processen ved at undersøge HasExited-ejendommen, og hvis den ikke er færdig, skal du ringe til Kill-metoden:
Tråd. Søvn (6000)
oProc. Refresh ()
Hvis ikke oProc. HasExited derefter
oProc. Kill ()
Afslut Hvis
Hvis det ønskes, kan du afstemme status for processen i en sløjfe og udstede periodiske beder til brugeren om at afslutte applikationen uden at gemme data. Og kun hvis du accepterer at ringe til Kill.
Trin 8
Frigør systemressourcer, når programmet er afsluttet ved hjælp af metoden Luk:
oProc. Close ()
Trin 9
For at undgå uventede fejl under programudførelse skal du placere hele programmets lukningsalgoritme i en Try-Catch-End Try-blok. Implementere fuldgyldig undtagelsesbehandling med diagnostiske meddelelser, hvis det er nødvendigt.