Visual Basic-dan Dasturni Qanday Yopish Kerak

Mundarija:

Visual Basic-dan Dasturni Qanday Yopish Kerak
Visual Basic-dan Dasturni Qanday Yopish Kerak

Video: Visual Basic-dan Dasturni Qanday Yopish Kerak

Video: Visual Basic-dan Dasturni Qanday Yopish Kerak
Video: #57 Visual Studio - Обработка и получение данных с Arduino Serial Monitor VB.NET ►◄ 2024, May
Anonim

Moslashuvchan va kuchli dasturlash tili Visual Basic. NET, Microsoft. NET platformasi uchun dasturlarni ishlab chiqish uchun maxsus yaratilgan vositalardan biri bo'lib, uning barcha imkoniyatlaridan to'liq foydalanishga imkon beradi. Xususan, System. Diagnostics nom maydonining tarkibiy qismlari jarayonlar, hodisalar jurnallari va ishlash hisoblagichlari bilan o'zaro aloqada bo'lishga imkon beradi. Masalan, Visual Basic dasturidan Process sinfidan foydalanib dasturni yopishingiz mumkin.

Visual Basic-dan dasturni qanday yopish kerak
Visual Basic-dan dasturni qanday yopish kerak

Kerakli

Microsoft Visual Studio

Ko'rsatmalar

1-qadam

Tizim, System. Diagnostics va System. Threading nomlarini import qiling. Modulning boshiga quyidagi kod satrlarini qo'shing:

Import tizimi

Import tizimi. Diagnostika

Import tizimi

Bu faqat ushbu ism maydonlari bilan bog'liq komponentlardan foydalanish qulayligi uchun.

2-qadam

Yopilishi kerak bo'lgan jarayon ma'lumotlarini oling. System. Diagnostics. Process sinf ob'ektidan foydalaning. Ushbu sinf o'zgaruvchisini e'lon qiling:

Jarayon sifatida xiralashgan oProc

Keyin kerakli jarayonni topish uchun biron bir usuldan foydalaning.

3-qadam

Agar kelajakda yopilishi kerak bo'lgan dastur ishlab chiqilayotgan dastur tomonidan ishga tushirilsa, ishga tushirish vaqtida "Start" usuli bilan qaytarilgan ob'ektni saqlang:

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

4-qadam

Agar sizga ma'lum identifikatorga ega bo'lgan jarayonni yopish kerak bo'lsa, tegishli ob'ektni olish uchun Process sinfining statik GetProcessById usulidan foydalaning:

oProc = Process. GetProcessById (nID)

Bu erda nID - jarayonning raqamli identifikatori.

5-qadam

Maqsadli jarayonning ba'zi bir xususiyatlari ma'lum bo'lsa, uni qidirib toping. Mahalliy mashinada Process sinfining ob'ektlari qatori sifatida ishlaydigan jarayonlar ro'yxatini oling. GetProcesses (barcha jarayonlarni qaytaradi) yoki GetProcessesByName (faqat nomi berilgan jarayonlar) usullaridan foydalaning:

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

Dim aoProcsByName Process () = Process. GetProcessesByName ("app.exe") sifatida xiralashgan

Massiv ob'ektlarini tsikl yordamida ro'yxatlang:

Dim oProc jarayon sifatida

Har bir oProc uchun aoAllProcesses

oProc-dagi harakatlar

Keyingisi

MainModule, MainWindowTitle, ProcessName va boshqalar xususiyatlarini ko'rib chiqing. kerakli ob'ektni topish uchun.

6-qadam

Dasturni tugatishga harakat qiling, uning asosiy oynasiga yaqin xabar yuboring. Maqsad jarayoniga mos keladigan ob'ektning CloseMainWindow usulini chaqiring. Agar kerak bo'lsa, WaitForExit-ga qo'ng'iroq qilib, dastur tugashini kuting, masalan:

oProc. CloseMainWindow ()

oProc. WaitForExit ()

Ushbu usul dasturni to'xtatilishini kafolatlamaydi, chunki oynani yopish haqidagi xabar tez-tez qayta ishlanadi va uni e'tiborsiz qoldirish mumkin.

7-qadam

Dastur tugashini ta'minlash uchun CloseMainWindow-ga qo'ng'iroq qilgandan so'ng qisqa vaqtni kuting. Thread sinfining Sleep usulidan foydalaning. Keyin HasExited xususiyatini tekshirib, jarayonning holatini tekshiring va agar u tugamagan bo'lsa, Kill usulini chaqiring:

Uyqu (6000)

oProc. Refresh ()

Agar yo'q bo'lsa oProc. HasExited Keyin

oProc. Kill ()

Agar tugatish

Agar xohlasangiz, jarayonning holatini pastadir ichida so'roq qilishingiz mumkin, foydalanuvchiga vaqti-vaqti bilan ma'lumotni saqlamasdan dasturni bekor qilish to'g'risida ko'rsatmalar berasiz. Va agar siz Kill-ga qo'ng'iroq qilishga rozi bo'lsangiz.

8-qadam

Yopish usuli yordamida dastur tugagandan so'ng tizim resurslarini bo'shating:

oProc. Close ()

9-qadam

Ilovani bajarish paytida kutilmagan xatolarga yo'l qo'ymaslik uchun dasturni yopish algoritmini Try-Catch-End Try blokiga joylashtiring. Agar kerak bo'lsa, diagnostika xabarlari bilan to'liq istisno bilan ishlashni amalga oshiring.

Tavsiya: