2014-07-12 43 views
0

我已经创建了一个应用程序,该应用程序有一个用于在Windows启动时为自动启动在开始菜单上创建快捷方式的选项。 所有的作品,但我需要做一些事情,让软件以编程方式了解软件是由Windows(自动)还是由用户启动。Windows上的C#应用​​程序自动启动开始

现在我验证如果快捷方式存在,但我想了解是否存在一些参数用于了解如果Windows运行程序与否。

+0

你可能传入一个命令行参数。不能保证,但用户无法弄清楚并执行相同的操作。 – jordanhill123

回答

2

在你的设置中,有计划开始与争论就像

myApp.exe autoStart

这样,如果你的应用程序通过启动或W开始/ E将有一个命令行参数,它可以检查像

bool AutoStartMode = false; 

//--somewhere near startup 

var args = Environment.GetCommandLineArgs(); 

if (args != null && args.Any(arg => arg == "autoStart")) 
{ 
    AutoStartMode = true; 
} 
0

我推荐使用Run key in the registry为您的自动启动。您将在运行键下为您的应用程序创建一个子密钥。您的密钥的值将成为您的应用程序的路径以及您希望使用的任何命令行参数。其中一个参数可能表示应用程序正在自动启动。凯尔提供了一个如何检查特定命令行参数的例子。

+0

尽管你的选择听起来可行我讨厌与注册表工作,因为不同的PC /组策略设置的权限不同,@Kyle Golble的方法是优雅的,没有检查的权限。这只是我的意见.... –

相关问题