Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取windows快捷方式配置的正确窗口样式_C#_.net - Fatal编程技术网

C# 获取windows快捷方式配置的正确窗口样式

C# 获取windows快捷方式配置的正确窗口样式,c#,.net,C#,.net,在windows中创建应用程序的快捷方式时,可以在其属性中的“运行:”下定义初始窗口状态(最小化/最大化/正常)。 显然,C#应用程序不会根据这种开箱即用的配置启动窗体,因此我想我需要以某种方式获取这些信息,并编写一段代码,在启动时以编程方式实现这一点。 我找不到在我的c#应用程序中获取此信息的方法。 我试过: Process.GetCurrentProcess().StartInfo.WindowStyle 但由于某些原因,无论文件快捷方式中的配置如何,这始终是“正常”的 有人知道如何解决这

在windows中创建应用程序的快捷方式时,可以在其属性中的“运行:”下定义初始窗口状态(最小化/最大化/正常)。 显然,C#应用程序不会根据这种开箱即用的配置启动窗体,因此我想我需要以某种方式获取这些信息,并编写一段代码,在启动时以编程方式实现这一点。 我找不到在我的c#应用程序中获取此信息的方法。 我试过:

Process.GetCurrentProcess().StartInfo.WindowStyle
但由于某些原因,无论文件快捷方式中的配置如何,这始终是“正常”的


有人知道如何解决这个问题吗?

刚刚做了一个快速测试,只有当您的主窗体设置为正常窗口状态启动时,它才能立即工作。如果选择最小化或最大化,它将覆盖快捷方式设置

如果主窗体设置为正常,则可以使用以下代码检测实际状态:

FormWindowState actualState = Application.OpenForms["Form1"].WindowState;
if (actualState != FormWindowState.Normal)
{
    //probably launched via shortcut overriding the state, handle.
}

嗨,影子巫师,我不确定我是否理解你的答案。我的表单是通过调用:
Application.Run(newform1())从静态“Program”类的main以标准方式启动的
Form1被配置为在正常状态下启动(实际上总是这样,不管快捷方式中的配置如何)。我想一定有办法从某处提取此配置并以编程方式更改窗口状态。我无法复制“而且确实总是这样,无论快捷方式中的配置如何”部分,如果我选择在快捷方式中运行Maximized,它确实会启动Maximized。但是我找不到任何方法来提取这些信息。好的,你的回答给了我一个想法,我进一步指出了这个问题。我的表单有“FormBorderStyle=None”。如果我将其更改为“Sizeable”,它将开始正常工作。唉,我需要这个表格没有边界:-(如果有人知道如何解决这个问题,我将不胜感激。奇怪但完全不同的问题…最好开始新的问题。)