Tôi có một vấn đề quyền hạn, và có thể ai đó có thể giúp tôi. Tôi đang sử dụng PowerShell 2.0 và tôi muốn tạo và sử dụng chuỗi. Tôi biết rằng tôi có thể sử dụng công việc, nhưng đó không phải là những gì tôi muốn. Tôi muốn một tập lệnh, tạo ra các biểu mẫu cửa sổ và chạy các chủ đề nền. Vì các mẫu đơn cần STA, điều này không dễ. Chạy "powershell.exe -sta" không phải là giải pháp.Powershell vấn đề xử lý thread
Dưới đây là tập lệnh mà tôi đã viết, để xử lý chuỗi đơn giản. Nhưng nó không hoạt động. Ngay cả các chủ đề mới sẽ không được tạo ra. Bất kỳ đề nghị, những gì là sai? Xin hãy giúp tôi nếu bạn có thể!
Trân trọng, Peter.
function ThreadProc() {
for ($i = 0; $i -lt 10; $i++) {
$ApartmentState = [System.Threading.Thread]::CurrentThread.GetApartmentState()
Write-Host "ThreadProc ($ApartmentState): $i"
# Yield the rest of the time slice.
[System.Threading.Thread]::Sleep(0)
}
}
$ApartmentState = [System.Threading.Thread]::CurrentThread.GetApartmentState()
Write-Host "Main thread ($ApartmentState): Start a second thread."
$thread_job = New-Object System.Threading.ThreadStart(ThreadProc)
$thread = New-Object System.Threading.Thread($thread_job)
$thread.CurrentThread.SetApartmentState([System.Threading.ApartmentState]::STA)
$thread.Start()
for ($i = 0; $i -lt 4; $i++) {
Write-Host("Main thread: Do some work.")
[System.Threading.Thread]::Sleep(0)
}
Write-Host("Main thread: Call Join(), to wait until ThreadProc ends.")
$thread.Join()
Write-Host("Main thread: ThreadProc.Join has returned. Program end.")
Cảm ơn, tôi sẽ thử điều này nếu có thể. –