![](/img/trans.png)
[英]Passing powershell multiple arguments in C# using Process.Start
[英]Resize PowerShell Window through C# Process.Start()
我通過C#啟動PowerShell和命令。
使用Windows 10。
方法1
Process.Start("powershell.exe",
"Write-Host \"Hello, world!\"; timeout 30"
);
方法2
using (Process ps = new Process())
{
ps.StartInfo.UseShellExecute = false;
ps.StartInfo.Verb = "runas";
ps.StartInfo.CreateNoWindow = false;
ps.StartInfo.RedirectStandardOutput = false;
ps.StartInfo.FileName = "powershell.exe";
ps.StartInfo.Arguments = "Write-Host \"Hello, world!\"; timeout 30";
ps.Start();
ps.WaitForExit();
ps.Close();
}
問題
但是,窗口大小比正常啟動PowerShell時大得多。
是否有任何命令或啟動參數可以減小窗口大小?
我希望不強制設置新的寬度和高度,而是將其還原為原始大小,以免影響Windows 7中其他版本的PowerShell。
解決方案
我已經嘗試過-nologo -noprofile -command
。
我也嘗試過使用此窗口調整大小
https://stackoverflow.com/a/6485074/6806643
它可以在控制台應用程序中工作,但無法在WPF中工作。
如果我嘗試手動調整寬度,PowerShell也將退出。
區別在於,開始菜單中的快捷方式具有自己的屬性集。
您可以在注冊表中更改默認設置以匹配快捷方式。 它們在以下位置:
HKEY_CURRENT_USER\Console\%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe
HKEY_CURRENT_USER\Console\%SystemRoot%_SysWOW64_WindowsPowerShell_v1.0_powershell.exe
或者,您可以在PowerShell中通過添加如下參數來設置它:
ps.StartInfo.Arguments = "$Host.UI.RawUI.WindowSize = New-Object System.Management.Automation.Host.Size (120, 50); Write-Host \"Hello, world!\"; timeout 30";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.