我通过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也会退出。
答案 0 :(得分:2)
不同之处在于,开始菜单中的快捷方式具有自己的一组属性。
您可以更改注册表中的默认设置以匹配快捷方式。他们在以下地点:
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";