Программаны Visual Basicтен кантип жабуу керек

Мазмуну:

Программаны Visual Basicтен кантип жабуу керек
Программаны Visual Basicтен кантип жабуу керек
Anonim

Microsoft. NET платформасы үчүн тиркемелерди иштеп чыгуу үчүн атайын түзүлгөн куралдардын бири болгон Visual Basic. NET ийкемдүү жана күчтүү программалоо тили анын бардык мүмкүнчүлүктөрүн толугу менен пайдаланууга мүмкүндүк берет. Атап айтканда, System. Diagnostics аталыштар мейкиндигинин компоненттери процесстер, окуялар журналдары жана натыйжалуулук эсептегичтери менен иштешүүгө мүмкүнчүлүк берет. Мисалы, Visual Basic программасын Process классын колдонуп жапсаңыз болот.

Программаны Visual Basicтен кантип жабуу керек
Программаны Visual Basicтен кантип жабуу керек

Зарыл

Microsoft Visual Studio

Нускамалар

1 кадам

System, System. Diagnostics жана System. Threading аталыштар мейкиндигин импорттоо. Модулдун башына төмөнкү коддорду кошуңуз:

Импорттоо тутуму

Импорттоо тутуму. Диагностика

Импорттоо тутуму

Бул жөн гана ушул аталыштар мейкиндигине байланыштуу компоненттерди колдонууга ыңгайлуу.

2-кадам

Жабылышы керек болгон процесстин дайындарын алыңыз. System. Diagnostics. Process класс объектисин колдонуңуз. Ушул класстын өзгөрүлмө түрүн жарыялаңыз:

Dim oProc As Process

Андан кийин керектүү процессти табуу үчүн кандайдыр бир ыкманы колдонуңуз.

3-кадам

Эгер келечекте жабылышы керек болгон программа иштелип жаткан тиркеме аркылуу ишке киргизилсе, анда баштоо учурунда Баштоо ыкмасы менен кайтарылган объектти сактап коюңуз:

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

4-кадам

Эгерде сизге белгилүү идентификатору бар процессти жабуу керек болсо, анда тиешелүү объектини алуу үчүн Process классынын статикалык GetProcessById методун колдонуңуз:

oProc = Process. GetProcessById (nID)

NID бул процесстин сандык идентификатору.

5-кадам

Эгерде максаттуу процесстин айрым мүнөздөмөлөрү гана белгилүү болсо, аны издеңиз. Локалдык машинада Процесс классынын объектилеринин массиви катары иштеп жаткан процесстердин тизмесин алыңыз. GetProcesses (бардык процесстерди кайтарат) же GetProcessesByName (аталган аталыштагы процесстер гана) ыкмаларын колдонуңуз:

Dim aoAllProcesses Process () = Process. GetProcesses ()

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

Массив объектилерин цикл аркылуу тизмелеңиз:

Dim oProc As Process

Ар бир oProc In aoAllProcesses

oProc боюнча 'аракеттер

Кийинки

MainModule, MainWindowTitle, ProcessName ж.б. касиеттери боюнча цикл. керектүү объектини табуу үчүн.

6-кадам

Анын негизги терезесине жакын билдирүү жөнөтүп, программаны токтотууга аракет кылыңыз. Максаттуу жараянга туура келген объектинин CloseMainWindow методун чакырыңыз. Керек болсо, WaitForExit номерине чалып, колдонмонун бүтүшүн күтүңүз, мисалы:

oProc. CloseMainWindow ()

oProc. WaitForExit ()

Бул ыкма программанын токтотулушуна кепилдик бербейт, анткени терезени жапкан билдирүү көп учурда иштелип чыгат жана аны четке кагууга болот.

7-кадам

Программанын иштешин токтотуу үчүн CloseMainWindow номерине чалган соң бир аз убакыт күтө туруңуз. Thread классынын Sleep методун колдонуңуз. Андан кийин HasExited касиетин карап, процесстин абалын текшерип, эгер ал бүтө элек болсо, Kill ыкмасын чакырыңыз:

Thread. Sleep (6000)

oProc. Refresh ()

Эгерде жок болсо oProc. HasExited then

oProc. Kill ()

End If

Кааласаңыз, процесстин абалын цикл менен сурап, колдонуучуга мезгил-мезгили менен өтүнмөнү токтотуп, дайындарды сактабасаңыз болот. Жана сиз Кил чакырууга макул болсоңуз гана болот.

8-кадам

Жабуу ыкмасын колдонуу менен программа аяктагандан кийин тутум ресурстарын бошотуңуз:

oProc. Close ()

9-кадам

Колдонмонун аткарылышында күтүлбөгөн каталарды кетирбөө үчүн программанын бүтүндөй жабылуу алгоритмин Try-Catch-End Try блогуна жайгаштырыңыз. Зарыл болсо, диагностикалык билдирүүлөр менен толук кандуу өзгөчө иштөөнү ишке ашыруу.

Сунушталууда: