Det fleksible og kraftige programmeringsspråket Visual Basic. NET, som er et av de spesiallagde verktøyene for å utvikle applikasjoner for Microsoft. NET-plattformen, lar deg bruke alle funksjonene. Spesielt lar komponentene i navneområdet System. Diagnostics deg samhandle med prosesser, hendelseslogger og ytelsestellere. For eksempel kan du lukke et program fra Visual Basic ved hjelp av prosessklassen.
Nødvendig
Microsoft Visual Studio
Bruksanvisning
Trinn 1
Importer navneområdene System, System. Diagnostics og System. Trading. Legg til følgende kodelinjer i begynnelsen av modulen:
Importsystem
Importerer system. Diagnostikk
Importsystem. Tråder
Dette er bare for å gjøre det lettere å bruke komponentene tilknyttet disse navnerommene.
Steg 2
Få dataene fra prosessen som skal lukkes. Bruk objektet System. Diagnostics. Process. Erklær en variabel i denne klassen:
Demp oProc som prosess
Bruk deretter en metode for å finne den nødvendige prosessen.
Trinn 3
Hvis programmet, som må lukkes i fremtiden, lanseres av applikasjonen som utvikles, er det bare å lagre objektet som returneres ved Start-metoden ved oppstart:
oProc = Process. Start ("app.exe")
Trinn 4
Hvis du trenger å lukke en prosess med en kjent identifikator, bruker du den statiske GetProcessById-metoden i prosessklassen for å få det tilsvarende objektet:
oProc = Process. GetProcessById (nID)
Hvor nID er den numeriske identifikatoren for prosessen.
Trinn 5
Hvis bare noen av egenskapene til målprosessen er kjent, kan du søke etter den. Få listen over prosesser som kjører på den lokale maskinen som en rekke objekter i prosessklassen. Bruk metodene GetProcesses (returnerer alle prosesser) eller GetProcessesByName (bare prosesser med gitt navn):
Dim aoAllProcesses As Process () = Process. GetProcesses ()
Dim aoProcsByName As Process () = Process. GetProcessesByName ("app.exe")
Liste opp matriseobjektene ved hjelp av en løkke:
Demp oProc som prosess
For hver oProc i aoAllProcesses
handlinger på oProc
Neste
Bla gjennom egenskapene MainModule, MainWindowTitle, ProcessName, etc. for å finne ønsket objekt.
Trinn 6
Prøv å avslutte programmet ved å sende en nærmelding til hovedvinduet. Ring CloseMainWindow-metoden til objektet som tilsvarer målprosessen. Vent om nødvendig til applikasjonen er fullført ved å ringe WaitForExit, for eksempel:
oProc. CloseMainWindow ()
oProc. WaitForExit ()
Denne metoden garanterer ikke avslutningen av programmet, siden meldingen om lukking av vindu ofte behandles og kan ignoreres.
Trinn 7
Vent i kort tid etter å ha ringt CloseMainWindow for å sikre at programmet avsluttes. Bruk søvnmetoden i trådklassen. Sjekk deretter statusen for prosessen ved å undersøke HasExited-egenskapen, og hvis den ikke er ferdig, ring Kill-metoden:
Thread. Sleep (6000)
oProc. Refresh ()
Hvis ikke oProc. HasExited Then
oProc. Kill ()
Slutt om
Hvis ønskelig, kan du avstemme prosessens status i en løkke, og utstede periodiske instruksjoner til brukeren om å avslutte applikasjonen uten å lagre data. Og bare hvis du godtar å ringe Kill.
Trinn 8
Frigjør systemressurser etter at programmet er ferdig med Close-metoden:
oProc. Close ()
Trinn 9
For å unngå uventede feil under programutførelse, plasser hele algoritmen for programmet i en Try-Catch-End Try-blokk. Implementere fullverdig unntakshåndtering med diagnostiske meldinger, om nødvendig.