Gjuha programuese fleksibile dhe e fuqishme Visual Basic. NET, duke qenë një nga mjetet e krijuara posaçërisht për zhvillimin e aplikacioneve për platformën Microsoft. NET, ju lejon të përdorni plotësisht të gjitha aftësitë e tij. Në veçanti, përbërësit e hapësirës së emrave System. Diagnostics ju lejojnë të ndërveproni me proceset, regjistrat e ngjarjeve dhe numëruesit e performancës. Për shembull, mund të mbyllni një program nga Visual Basic duke përdorur klasën Proces.
E nevojshme
Microsoft Visual Studio
Udhëzimet
Hapi 1
Importoni Sistemin, Sistemin. Diagnostifikimin dhe Sistemin. Hapësira e emrave në lidhje. Shtoni linjat e mëposhtme të kodit në fillim të modulit:
Sistemi i Importeve
Importi i Sistemit. Diagnostifikimi
Importi i Sistemit. Threading
Kjo është thjesht për lehtësinë e përdorimit të komponentëve të lidhur me këto hapësira emrash.
Hapi 2
Merrni të dhënat e procesit që do të mbyllen. Përdorni objektin e klasës System. Diagnostics. Process. Shpalleni një variabël të kësaj klase:
Procesi i zbehtë i oProc
Pastaj përdorni disa metoda për të gjetur procesin e kërkuar.
Hapi 3
Nëse programi, i cili do të duhet të mbyllet në të ardhmen, lëshohet nga aplikacioni që po zhvillohet, atëherë thjesht ruajeni objektin e kthyer nga metoda Start në fillimin:
oProc = Process. Start ("app.exe")
Hapi 4
Nëse keni nevojë të mbyllni një proces me një identifikues të njohur, përdorni metodën statike GetProcessById të klasës Procesi për të marrë objektin përkatës:
oProc = Procesi. GetProcessById (nID)
Ku nID është identifikuesi numerik i procesit.
Hapi 5
Nëse dihen vetëm disa nga karakteristikat e procesit të synuar, kërkoni atë. Merrni listën e proceseve që ekzekutohen në makinerinë lokale si një grup objektesh të klasës Procesi. Përdorni metodat GetProceses (kthen të gjitha proceset) ose GetProcesesByName (vetëm proceset me emrin e dhënë):
Dim aoAllProceset Si Proces () = Procesi. MerrniProceset ()
Dim aoProcsByName As Process () = Process. GetProcesesByName ("app.exe")
Renditni objektet e vargut duke përdorur një lak:
Procesi i zbehtë i oProc
Për Secilin Proces në oProc
'veprimet në oProc
Tjetra
Shikoni vetitë MainModule, MainWindowTitle, NameNë proces, etj. për të gjetur objektin e dëshiruar.
Hapi 6
Mundohuni të përfundoni programin duke dërguar një mesazh të ngushtë në dritaren e tij kryesore. Thirrni metodën CloseMainWindow të objektit që korrespondon me procesin e synuar. Nëse është e nevojshme, prisni që aplikacioni të përfundojë duke telefonuar WaitForExit, për shembull:
oProc. CloseMainWindow ()
oProc. WaitForExit ()
Kjo metodë nuk garanton përfundimin e programit, pasi mesazhi i mbylljes së dritares shpesh përpunohet dhe mund të injorohet.
Hapi 7
Prisni për një kohë të shkurtër pasi të telefononi CloseMainWindow për të siguruar që programi të përfundojë. Përdorni metodën e gjumit të klasës Thread. Pastaj kontrolloni statusin e procesit duke ekzaminuar pronën HasExited dhe, nëse nuk ka përfunduar, thirrni metodën Kill:
Fije. Gjumë (6000)
oProc. Rifresh ()
Nëse jo oProc. HasExited Pastaj
oProc. Kill ()
Fundi Nëse
Nëse dëshironi, ju mund të sondoni statusin e procesit në një lak, duke lëshuar kërkesa periodike për përdoruesin për të përfunduar aplikacionin pa ruajtur të dhëna. Dhe vetëm nëse pranoni të telefononi Kill.
Hapi 8
Lironi burimet e sistemit pasi programi të përfundojë duke përdorur metodën Mbyll:
oProc. Mbyll ()
Hapi 9
Për të shmangur gabimet e papritura gjatë ekzekutimit të aplikacionit, vendosni të gjithë algoritmin e mbylljes së programit në një bllok Try-Catch-End Try. Zbatoni trajtimin e plotë të përjashtimeve me mesazhe diagnostikuese, nëse është e nevojshme.