我有这个方法可以正常工作:
private static void OpenFolder(string fileName)
{
var fol= new ProcessStartInfo("Explorer.exe", "/select," + fileName);
Process.Start(fol);
}
但是我怎样才能将新的打开窗口设置为最大化呢?我看到了 WindowStyle 属性,但没有看到 WindowState。
我有这个方法可以正常工作:
private static void OpenFolder(string fileName)
{
var fol= new ProcessStartInfo("Explorer.exe", "/select," + fileName);
Process.Start(fol);
}
但是我怎样才能将新的打开窗口设置为最大化呢?我看到了 WindowStyle 属性,但没有看到 WindowState。
这段代码对我有用。
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();
WindowStyle
是您必须使用的,在开始该过程之前添加以下行。
fol.WindowStyle = ProcessWindowStyle.Maximized;
来自 MSDN:
Hidden: 隐藏的窗口样式。窗口可以是可见的,也可以是隐藏的。系统通过不绘制它来显示一个隐藏的窗口。如果一个窗口被隐藏,它实际上是被禁用的。隐藏窗口可以处理来自系统或其他窗口的消息,但它不能处理来自用户的输入或显示输出。通常,应用程序可能会在自定义窗口外观时隐藏新窗口,然后将窗口样式设置为 Normal。要使用 ProcessWindowStyle.Hidden,ProcessStartInfo.UseShellExecute 属性必须为 false。
Maximized:最大化的窗口样式。默认情况下,系统会放大一个最大化的窗口,以便它填满屏幕,或者在子窗口的情况下,是父窗口的客户区。如果窗口有标题栏,系统会自动将其移动到屏幕顶部或父窗口客户区的顶部。此外,系统禁用了窗口的大小边框和标题栏的窗口定位功能,因此用户无法通过拖动标题栏来移动窗口。
最小化:最小化的窗口样式。默认情况下,系统会将最小化的窗口缩小为其任务栏按钮的大小,并将最小化的窗口移动到任务栏。
正常: 正常的可见窗口样式。系统在屏幕上的默认位置显示一个具有 Normal 样式的窗口。如果窗口可见,用户可以向窗口提供输入并查看窗口的输出。通常,应用程序可能会在自定义窗口外观时将新窗口初始化为 Hidden 样式,然后将窗口样式设为 Normal。
MSDN:http: //msdn.microsoft.com/en-us/library/system.diagnostics.processwindowstyle.aspx
这应该可以解决问题
process.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;