打开窗口最大化的文件夹

时间:2013-07-25 04:39:27

标签: c#

我有这个方法可行:

 private static void OpenFolder(string fileName)
    {

        var fol= new ProcessStartInfo("Explorer.exe", "/select," + fileName);
        Process.Start(fol);
    }

但是我怎样才能将新的开启窗口设置为最大化?我看到了WindowStyle属性,但没有看到WindowState。

3 个答案:

答案 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;