Hur Man Stänger Ett Program Från Visual Basic

Innehållsförteckning:

Hur Man Stänger Ett Program Från Visual Basic
Hur Man Stänger Ett Program Från Visual Basic

Video: Hur Man Stänger Ett Program Från Visual Basic

Video: Hur Man Stänger Ett Program Från Visual Basic
Video: Создание простого приложения Visual Basic в среде разработки Visual Studio 2024, Maj
Anonim

Det flexibla och kraftfulla programmeringsspråket Visual Basic. NET, som är ett av de speciellt skapade verktygen för att utveckla applikationer för Microsoft. NET-plattformen, gör att du kan använda alla dess funktioner till fullo. I synnerhet kan komponenterna i Namnområdet System. Diagnostics låta dig interagera med processer, händelseloggar och prestandaräknare. Du kan till exempel stänga ett program från Visual Basic med hjälp av processklassen.

Hur man stänger ett program från Visual basic
Hur man stänger ett program från Visual basic

Nödvändig

Microsoft Visual Studio

Instruktioner

Steg 1

Importera namnområdena System, System. Diagnostics och System. Threading. Lägg till följande kodrader i början av modulen:

Importsystem

Importerar system. Diagnostik

Importsystem. Trådning

Detta är bara för att använda komponenterna som är associerade med dessa namnområden.

Steg 2

Få processdata för att stängas. Använd Klass. Diagnostics. Process-klassobjektet. Förklara en variabel av denna klass:

Dim oProc som process

Använd sedan någon metod för att hitta önskad process.

Steg 3

Om programmet, som kommer att behöva stängas i framtiden, startas av applikationen som utvecklas, sparar du bara objektet som returneras med Start-metoden vid start:

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

Steg 4

Om du behöver stänga en process med en känd identifierare använder du den statiska GetProcessById-metoden i processklassen för att få motsvarande objekt:

oProc = Process. GetProcessById (nID)

Där nID är den numeriska identifieraren för processen.

Steg 5

Om bara några av målprocessens egenskaper är kända, sök efter den. Hämta listan över processer som körs på den lokala maskinen som en uppsättning objekt i processklassen. Använd metoderna GetProcesses (returnerar alla processer) eller GetProcessesByName (endast processer med det angivna namnet):

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

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

Lista matrisobjekten med en slinga:

Dim oProc som process

För varje oProc i aoAllProcesses

åtgärder på oProc

Nästa

Gå igenom egenskaperna MainModule, MainWindowTitle, ProcessName, etc. för att hitta önskat objekt.

Steg 6

Försök att avsluta programmet genom att skicka ett nära meddelande till huvudfönstret. Ring CloseMainWindow-metoden för objektet som motsvarar målprocessen. Om det behövs väntar du på att ansökan ska slutföras genom att ringa WaitForExit, till exempel:

oProc. CloseMainWindow ()

oProc. WaitForExit ()

Denna metod garanterar inte att programmet avslutas, eftersom meddelandet om fönsterstängning ofta bearbetas och kan ignoreras.

Steg 7

Vänta en kort stund efter att ha ringt CloseMainWindow för att säkerställa att programmet avslutas. Använd sömnmetoden i trådklassen. Kontrollera sedan processens status genom att undersöka egenskapen HasExited och, om den inte är klar, ring Kill-metoden:

Thread. Sleep (6000)

oProc. Refresh ()

Om inte oProc. HasExited då

oProc. Kill ()

Avsluta om

Om så önskas kan du undersöka status för processen i en slinga och utfärda periodiska uppmaningar till användaren att avsluta applikationen utan att spara data. Och bara om du går med på att ringa Kill.

Steg 8

Frigör systemresurser när programmet är klart med metoden Stäng:

oProc. Close ()

Steg 9

För att undvika oväntade fel under applikationskörning placerar du hela programmets stängningsalgoritm i ett Try-Catch-End-testblock. Implementera fullfjädrad undantagshantering med diagnostiska meddelanden, om det behövs.

Rekommenderad: