嘿伙计们我对C#很新。我知道powershell。我试图弄清楚如何从c#程序运行powershell脚本。我有以下工作作为自己的测试程序。然而,当我尝试并放入更复杂的脚本时,可能包含应该弹出的GUI窗口似乎没有运行。我是否正确地想出这个问题?我还注意到需要在每行之后的半冒号才能在C#中正确运行脚本。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Management.Automation;
using System.Management.Automation.Runspaces;
using System.Collections.ObjectModel;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
using (PowerShell PS = PowerShell.Create())
{
PS.AddScript("$file = \"C:\\test\\csharp.txt\";"+
"Set-Content -path $file -value \"testc\";");
PS.Invoke();
}
}//end of main
}//end of class
}//end of namespace
答案 0 :(得分:0)
只有UI线程才能执行UI操作。从我所看到的,你的PS.Invoke()创建了自己的线程,我找不到任何允许你将它推广到UI线程的东西。