Powershell Backgroundworker - PullRequest
       6

Powershell Backgroundworker

1 голос
/ 19 октября 2010

Может ли кто-нибудь дать мне пример использования BackgroundWorker в Powershell?

Я хочу написать что-то, чтобы при выборе новой вкладки в моем приложении Powershell GUI она переключалась на вкладку с "Пожалуйста, подождите "сообщение отображается, затем выполните некоторые проверки в потоке BackgroundWorker, а затем обновите.

Возможно ли это в Powershell?Все Google, которые я сделал, указывает на c # или VB.Net.

Приветствия,

Бен

Ответы [ 2 ]

1 голос
/ 20 октября 2010

Если фоновый поток собирается использовать конвейер PowerShell для своей работы, тогда я бы избегал использования BackgroundWorker.Он не был бы привязан к PowerShell Runspace.Попробуйте выполнить асинхронную обработку, используя Register-ObjectEvent, например:

Register-ObjectEvent $tabItem Loaded -Action { <do bg work here> }
0 голосов
/ 04 сентября 2012

Вы также можете использовать Start-Process:

$scriptPath = "c:\script.ps1"
$allArgs = "/someOrNoArgsHere /moreArgs"
$backgroundProcess = Start-Process -FilePath $scriptPath -ArgumentList $allArgs -Wait -Passthru -WindowStyle Hidden
$backgroundProcess.WaitForExit()
$backgroundProcess.ExitCode

Или вы можете использовать однострочник:

Start-Process -FilePath "c:\script.ps1" -ArgumentList "/someOrNoArgsHere /moreArgs" -Wait -Passthru -WindowStyle Hidden
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...