Тхе Почетак метода Процес објект је вероватно један од најцењених алата који је доступан програмеру. Као .НЕТО метода, Почетак има низ преоптерећења, који су различити скупови параметара који тачно одређују шта метода ради. Преоптерећења вам омогућавају да одредите било који скуп параметара које бисте можда желели да проследите другом процесу када се покрене.
Шта можете да урадите Процес. Почетак је ограничена само процесима које можете користити са њом. Ако желите да своју текстуалну РеадМе датотеку прикажете у Нотепад-у, то је једноставно као:
Процес. Старт ("РеадМе.ткт")или.
Процес. Старт („бележница“, „РеадМе.ткт“)
Овај пример претпоставља да се датотека РеадМе налази у истој фасцикли као и програм и да је Нотепад подразумевана апликација за .ткт типове датотека и налази се на путу окружења система.
Процес. Почните слично као Схелл Цомманд у ВБ6
За програмере упознате са Висуал Басиц 6, Процес. Почетак помало личи на ВБ 6 Шкољка команда. У ВБ 6 користили бисте нешто попут:
лнгПИД = Схелл ("МиТектФиле.ткт", вбНормалФоцус)
Коришћење процеса. Почетак
Можете користити овај код да бисте максимално покренули Нотепад и креирали ПроцессСтартИнфо објекта који можете користити за прецизнију контролу:
Дим ПроцессПропертиес као нови ПроцессСтартИнфо
ПроцессПропертиес. ФилеНаме = "бележница"
ПроцессПропертиес. Аргумент = "миТектФиле.ткт"
ПроцессПропертиес. ВиндовСтиле = ПроцессВиндовСтиле. Максимизирано
Дим миПроцесс Ас Процесс = Процес. Старт (ПроцессПропертиес)
Покретање скривеног процеса
Можете чак и покренути скривени процес.
ПроцессПропертиес. ВиндовСтиле = ПроцессВиндовСтиле. СакривенАли будите опрезни. Ако не додате више кода да бисте окончали поступак, вероватно ћете га морати завршити у управитељу задатака. Скривени процеси се обично користе само са процесима који немају никакву корисничку сучеље.
Дохваћање имена процеса
Рад са Процес. Почетак као .НЕТ објект вам пружа пуно могућности. На пример, можете пронаћи име започетог поступка. Овај код ће приказати „нотепад“ у излазном прозору:
Дим миПроцесс Ас Процесс = Процес. Старт ("МиТектФиле.ткт") конзола. ВритеЛине (мојПроцес. ПроцессНаме)То је нешто што си могао не урадите са ВБ6 Шкољка команду јер је нову апликацију стартовала асинхроно. Користећи ВаитФорЕкит може да изазове обрнути проблем у .НЕТ-у, јер морате покренути процес у новом нити, ако вам треба да се изврши асинхроно. На пример, ако вам требају компоненте да остану активне у облику у којем је покренут и ВаитФорЕкит погубљен. Те компоненте обично неће бити активне. Шифрирајте то и уверите се сами.
Један од начина да се процес заустави је употреба Килл метод.
миПроцесс. Килл ()
Овај код чека 10 секунди, а затим завршава поступак.
Међутим, понекад је потребно принудно одлагање како би се процес могао завршити како би се избегла грешка.
миПроцесс. ВаитФорЕкит (10000)
'ако се процес не заврши у року
'10 секунди, убиј га
Ако није мојПроцес. ХасЕкитед Онда
миПроцесс. Килл ()
Енд Иф
Нити. Конац. Слееп (1)
Конзола. ВритеЛине ("Бележница је завршена:" _
& миПроцесс. ЕкитТиме & _
Животна средина. Нова линија & _
"Излазни код:" & _
миПроцесс. ЕкитЦоде)
У већини случајева вероватно је добра идеја да обраду ставите у Користећи блокирати како би се осигурало ослобађање ресурса које користи процес.
Коришћење миПроцесс као процеса = новог процеса
'Ваш код је овде
Крај употребе
Да би све ово било још лакше радити, постоји чак и а Процес компоненту коју можете додати свом пројекту тако да можете да радите много ствари које су горе приказане у време пројектовања, уместо времена извођења.
Једна од ствари која ово знатно олакшава је кодирање догађаја које је покренуо процес, попут догађаја када је процес изашао. Такође можете додати руковатељ користећи овај код:
'дозволите процесу да покрене догађаје
миПроцесс. ЕнаблеРаисингЕвентс = Тачно
'додајте обрађивач догађаја Екитед
АддХандлер миПроцесс. Изашао, _
АддрессОф Ме. ПроцессЕкитед
Привате Суб ПроцессЕкитед (БиВал пошиљалац као објект, _
БиВал е као систем. ЕвентАргс)
'Ваш код је овде
Енд Суб
Али, једноставно је одабрати догађај за компоненту много је лакше.