打开一个最大化的窗口文件夹

4

我有一个可行的方法:

 private static void OpenFolder(string fileName)
    {

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

但是我该如何将新打开的窗口设置为最大化?我看到了WindowStyle属性,但没有WindowState。

3个回答

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();

3

WindowStyle 是你需要使用的内容,在启动进程之前添加以下行。

 fol.WindowStyle = ProcessWindowStyle.Maximized;

来自MSDN:

隐藏:隐藏的窗口样式。一个窗口可以是可见或隐藏的。系统通过不绘制它来显示隐藏的窗口。如果一个窗口被隐藏,它就被有效地禁用了。隐藏的窗口可以处理来自系统或其他窗口的消息,但它不能处理用户的输入或显示输出。通常,一个应用程序可能会在自定义窗口的外观时将新窗口隐藏起来,然后使窗口样式为Normal。要使用ProcessWindowStyle.Hidden,必须将ProcessStartInfo.UseShellExecute属性设置为false。
最大化:最大化窗口样式。默认情况下,系统会放大最大化窗口,使其填满屏幕或父窗口的客户区域(对于子窗口)。如果窗口有标题栏,系统会自动将其移动到屏幕顶部或父窗口的客户区域顶部。此外,系统还禁用了窗口的大小调整边框和标题栏的窗口定位功能,以便用户无法通过拖动标题栏来移动窗口。
最小化:最小化窗口样式。默认情况下,系统会将最小化窗口缩小到其任务栏按钮的大小,并将最小化窗口移到任务栏上。
正常:正常、可见的窗口样式。系统在屏幕上显示具有Normal样式的窗口,位于默认位置。如果窗口可见,用户可以向窗口提供输入并查看窗口的输出。通常,一个应用程序可能会将新窗口初始化为隐藏样式,而在自定义窗口的外观后,使窗口样式为Normal。

MSDN:{{link1:http://msdn.microsoft.com/zh-cn/library/system.diagnostics.processwindowstyle.aspx}}


0

这应该可以解决问题

process.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接