我有这个方法可行:
private static void OpenFolder(string fileName)
{
var fol= new ProcessStartInfo("Explorer.exe", "/select," + fileName);
Process.Start(fol);
}
但是我怎样才能将新的开启窗口设置为最大化?我看到了WindowStyle属性,但没有看到WindowState。
答案 0 :(得分:3)
此代码适用于我。
System.Diagnostics.Process prc = new System.Diagnostics.Process();
prc.StartInfo.FileName = windir + @"\explorer.exe";
prc.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized;
注意: ProcessWindowStyle的命名空间: System.Diagnostics
以下是我使用的完整代码:
string myDocspath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
string windir = Environment.GetEnvironmentVariable("WINDIR");
System.Diagnostics.Process prc = new System.Diagnostics.Process();
prc.StartInfo.FileName = windir + @"\explorer.exe";
prc.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized;
prc.StartInfo.Arguments = myDocspath;
prc.Start();
答案 1 :(得分:2)
WindowStyle
是您必须使用的,在开始此过程之前添加以下行。
fol.WindowStyle = ProcessWindowStyle.Maximized;
来自MSDN:
隐藏:隐藏的窗口样式。窗口可以是可见的或隐藏的。系统通过不绘制来显示隐藏的窗口。如果窗口被隐藏,则会被有效禁用。隐藏窗口可以处理来自系统或其他窗口的消息,但它无法处理来自用户或显示输出的输入。通常,应用程序可以在自定义窗口外观时隐藏新窗口,然后使窗口样式为“正常”。要使用ProcessWindowStyle.Hidden,ProcessStartInfo.UseShellExecute属性必须为false。
最大化:最大化的窗口样式。默认情况下,系统会放大最大化窗口,使其填充屏幕,或者在子窗口的情况下,填充父窗口的客户区域。如果窗口有标题栏,系统会自动将其移动到屏幕顶部或父窗口客户区的顶部。此外,系统会禁用窗口的大小调整边框和标题栏的窗口定位功能,以便用户无法通过拖动标题栏来移动窗口。
最小化:最小化的窗口样式。默认情况下,系统会将最小化窗口缩小到其任务栏按钮的大小,并将最小化窗口移动到任务栏。
正常:正常的可见窗口样式。系统在默认位置显示屏幕上具有“正常”样式的窗口。如果窗口可见,则用户可以向窗口提供输入并查看窗口的输出。通常,应用程序可以在自定义窗口外观时将新窗口初始化为隐藏样式,然后使窗口样式为正常。
MSDN:http://msdn.microsoft.com/en-us/library/system.diagnostics.processwindowstyle.aspx
答案 2 :(得分:0)
这应该可以解决问题
process.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;