Joustava ja tehokas ohjelmointikieli Visual Basic. NET, joka on yksi erityisesti luotuista työkaluista sovellusten kehittämiseen Microsoft. NET -alustalle, antaa sinun käyttää kaikkia sen ominaisuuksia. Erityisesti System. Diagnostics-nimitilan komponenttien avulla voit olla vuorovaikutuksessa prosessien, tapahtumalokien ja suorituskykylaskureiden kanssa. Voit esimerkiksi sulkea ohjelman Visual Basicista prosessiluokan avulla.
Tarpeellinen
Microsoft Visual Studio
Ohjeet
Vaihe 1
Tuo System, System. Diagnostics ja System. Treading nimitilat. Lisää seuraavat koodirivit moduulin alkuun:
Tuontijärjestelmä
Tuontijärjestelmä. Diagnostiikka
Tuontijärjestelmä. Langoittaminen
Tämä on vain näihin nimitiloihin liittyvien komponenttien käytön helpottamiseksi.
Vaihe 2
Hanki prosessin tiedot suljettavaksi. Käytä System. Diagnostics. Process-luokan objektia. Ilmoita tämän luokan muuttuja:
Dim oProc prosessina
Käytä sitten jotain menetelmää löytääksesi vaaditun prosessin.
Vaihe 3
Jos kehitettävä sovellus käynnistää ohjelman, joka on suljettava tulevaisuudessa, tallenna yksinkertaisesti Käynnistä-menetelmän palauttama objekti käynnistyksen yhteydessä:
oProc = Process. Start ("app.exe")
Vaihe 4
Jos haluat sulkea prosessin tunnetulla tunnisteella, hanki vastaava objekti prosessiluokan staattisella GetProcessById-menetelmällä:
oProc = Process. GetProcessById (nID)
Missä nID on prosessin numeerinen tunniste.
Vaihe 5
Jos vain osa kohdeprosessin ominaisuuksista tunnetaan, etsi sitä. Hanki luettelo paikallisessa koneessa käynnissä olevista prosesseista prosessiluokan objektijoukkoina. Käytä GetProcesses (palauttaa kaikki prosessit) tai GetProcessesByName (vain prosessit, joilla on annettu nimi) menetelmiä:
Dim aoAllProcesses As Process () = Process. GetProcesses ()
Himmennä aoProcsByName prosessina () = Process. GetProcessesByName ("app.exe")
Luetteloi taulukko-objektit silmukan avulla:
Dim oProc prosessina
Jokaiselle aoAllProcesses-prosessille
'oProc-toiminnot
Seuraava
Selaa ominaisuuksia MainModule, MainWindowTitle, ProcessName jne. löytääksesi haluamasi kohteen.
Vaihe 6
Yritä lopettaa ohjelma lähettämällä sulje viesti sen pääikkunaan. Kutsu kohdeprosessia vastaavan objektin CloseMainWindow-menetelmä. Odota tarvittaessa sovelluksen valmistumista soittamalla esimerkiksi WaitForExit:
oProc. CloseMainWindow ()
oProc. WaitForExit ()
Tämä menetelmä ei takaa ohjelman lopettamista, koska ikkunan sulkemisviesti käsitellään usein ja se voidaan jättää huomioimatta.
Vaihe 7
Odota vähän aikaa soittamalla CloseMainWindow-palveluun varmistaaksesi, että ohjelma päättyy. Käytä Thread-luokan lepotapaa. Tarkista sitten prosessin tila tutkimalla HasExited-ominaisuutta ja, jos se ei ole vielä valmis, soita tapotapa:
Lanka. Nukkuva (6000)
oProc. Refresh ()
Jos ei oProc. HasExited Sitten
oProc. Kill ()
Loppu Jos
Halutessasi voit kysyä prosessin tilan silmukassa ja antaa käyttäjälle säännöllisiä kehotuksia lopettaa sovellus tallentamatta tietoja. Ja vain jos suostut soittamaan Killille.
Vaihe 8
Vapauta järjestelmäresurssit, kun ohjelma on suoritettu Sulje-menetelmällä:
oProc. Sulje ()
Vaihe 9
Vältä odottamattomat virheet sovelluksen suorituksen aikana sijoittamalla koko ohjelman sulkemisalgoritmi Try-Catch-End Try-lohkoon. Ota tarvittaessa käyttöön täysimittainen poikkeusten käsittely diagnostiikkaviesteillä.