Hogyan Lehet Bezárni Egy Programot A Visual Basicből

Tartalomjegyzék:

Hogyan Lehet Bezárni Egy Programot A Visual Basicből
Hogyan Lehet Bezárni Egy Programot A Visual Basicből

Videó: Hogyan Lehet Bezárni Egy Programot A Visual Basicből

Videó: Hogyan Lehet Bezárni Egy Programot A Visual Basicből
Videó: Programozás Windows 10 alatt - 1. rész - Mi az a program? 2024, Lehet
Anonim

A rugalmas és hatékony programozási nyelv, a Visual Basic. NET, amely a Microsoft. NET platform alkalmazásainak fejlesztésére szolgáló speciálisan létrehozott eszközök egyike, lehetővé teszi az összes képesség teljes körű kihasználását. Különösen a System. Diagnostics névtér összetevői teszik lehetővé a folyamatokkal, eseménynaplókkal és teljesítményszámlálókkal való interakciót. Például bezárhat egy programot a Visual Basicből a Process osztály használatával.

Hogyan lehet bezárni egy programot a Visual basicből
Hogyan lehet bezárni egy programot a Visual basicből

Szükséges

Microsoft Visual Studio

Utasítás

1. lépés

Importálja a Rendszert, a System. Diagnostics és a System. Treading névtereket. Adja hozzá a következő kódsorokat a modul elejéhez:

Importrendszer

Import rendszer. Diagnosztika

Import rendszer. Menet

Ez csak az ezekhez a névterekhez tartozó összetevők használatának kényelmét szolgálja.

2. lépés

A folyamat adatainak lezárása. Használja a System. Diagnostics. Process osztályobjektumot. Nyújtsa be ennek az osztálynak a változóját:

Dim oProc mint folyamat

Ezután valamilyen módszerrel keresse meg a szükséges folyamatot.

3. lépés

Ha a programot, amelyet a jövőben le kell zárni, a fejlesztés alatt álló alkalmazás indítja el, akkor indításkor egyszerűen mentse a Start módszerrel visszaadott objektumot:

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

4. lépés

Ha egy folyamatot ismert azonosítóval kell lezárnia, használja a Process osztály statikus GetProcessById metódusát a megfelelő objektum megszerzéséhez:

oProc = Process. GetProcessById (nID)

Ahol az nID a folyamat numerikus azonosítója.

5. lépés

Ha a célfolyamatnak csak néhány jellemzője ismert, keresse meg. Szerezze be a helyi gépen a Process osztály objektumainak tömbjeként futó folyamatok listáját. Használja a GetProcesses (visszaadja az összes folyamatot) vagy a GetProcessesByName (csak a megadott névvel rendelkező folyamatokat) módszereket:

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

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

Sorolja fel a tömbobjektumokat egy hurok segítségével:

Dim oProc mint folyamat

Minden oProc-ra az aoAllProcessekben

'műveletek az oProc-on

Következő

Húzza át a MainModule, MainWindowTitle, ProcessName stb. Tulajdonságokat. hogy megtalálja a kívánt tárgyat.

6. lépés

Próbáljon megszakítani egy programot úgy, hogy bezár egy üzenetet küld a főablakába. Hívja meg a célfolyamatnak megfelelő objektum CloseMainWindow metódusát. Ha szükséges, várja meg az alkalmazás befejezését a WaitForExit hívásával, például:

oProc. CloseMainWindow ()

oProc. WaitForExit ()

Ez a módszer nem garantálja a program leállítását, mivel az ablak bezárás üzenetet gyakran feldolgozzák és figyelmen kívül hagyhatják.

7. lépés

Várjon egy rövid ideig a CloseMainWindow hívása után, hogy megbizonyosodjon arról, hogy a program leáll. Használja a Thread osztály Sleep módját. Ezután ellenőrizze a folyamat állapotát a HasExited tulajdonság vizsgálatával, és ha még nem fejeződött be, hívja meg a Kill metódust:

Menet. Alvó (6000)

oProc. Refresh ()

Ha nem az oProc. HasExited Akkor

oProc. Kill ()

Vége Ha

Kívánt esetben a folyamat állapotát egy ciklusban lekérdezheti, időszakos felszólításokat adva a felhasználónak, hogy az adatok mentése nélkül állítsa le az alkalmazást. És csak akkor, ha beleegyezik, hogy felhívja Killet.

8. lépés

Szabadítson fel rendszererőforrásokat, miután a program befejezte a Bezárás módszert:

oProc. Close ()

9. lépés

Az alkalmazás futtatása során bekövetkező váratlan hibák elkerülése érdekében helyezze a teljes programzáró algoritmust egy Try-Catch-End Try blokkba. Szükség esetén teljes körű kivételkezelést hajtson végre diagnosztikai üzenetekkel.

Ajánlott: