判断程序是自动启动还是用户启动
2012-10-17 19:10
176 查看
在设计自动更新程序的时候,希望在应用程序启动的同时,在后台启动更新程序,不弹出更新状态窗口,
而在用户点击应用程序的更新功能的时候,希望在前台启动更新程序,弹出更新状态窗口,所以要在启动时判断更新程序是自动启动还是用户启动。
WPF:假设用户的更新程序是WPF程序,则在App.xaml.cs文件中修改为以下代码:
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
new MainWindow(e.Args);
}
}
然后修改MainWindow的构造函数为MainWindow(string[] args)。
WinForm:假设用户的更新程序是WinForm程序,则在Program.cs文件中修改为以下代码:
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1(args));
}
然后修改Form1的构造函数为Form1(string[] args)。
---------------------------------------------------华丽分割线----------------------------------------------------
然后在启动更新程序的程序中用以下代码启动更新程序:
ProcessStartInfo startInfo = new ProcessStartInfo(startFile);
startInfo.Arguments = startArguments;
Process.Start(startInfo);
startFile:更新程序文件所在路径
startArguments:启动参数
如此即可实现,带参数的启动,当更新程序启动的时候对args参数进行判断,即可分别显示。
而在用户点击应用程序的更新功能的时候,希望在前台启动更新程序,弹出更新状态窗口,所以要在启动时判断更新程序是自动启动还是用户启动。
WPF:假设用户的更新程序是WPF程序,则在App.xaml.cs文件中修改为以下代码:
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
new MainWindow(e.Args);
}
}
然后修改MainWindow的构造函数为MainWindow(string[] args)。
WinForm:假设用户的更新程序是WinForm程序,则在Program.cs文件中修改为以下代码:
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1(args));
}
然后修改Form1的构造函数为Form1(string[] args)。
---------------------------------------------------华丽分割线----------------------------------------------------
然后在启动更新程序的程序中用以下代码启动更新程序:
ProcessStartInfo startInfo = new ProcessStartInfo(startFile);
startInfo.Arguments = startArguments;
Process.Start(startInfo);
startFile:更新程序文件所在路径
startArguments:启动参数
如此即可实现,带参数的启动,当更新程序启动的时候对args参数进行判断,即可分别显示。
相关文章推荐
- 判断程序是自动启动还是用户启动
- C#判断程序是由Windows服务启动还是用户启动
- linux自动以root登录,并自动启动用户程序的设置方
- fedora20添加开机自动启动程序和添加sudo用户
- linux 开机启动自动执行某用户的脚步、程序
- linux自动以root登录,并自动启动用户程序的设置方法(适合sysVinit启动机制)
- 如何判断java程序是从class启动还是从jar启动的?
- C#.NET Form设置/取消开机自动运行,判断程序是否已经设置成开机自动启动
- 手把手教你使用 Raspberry - 设置开机启动图片/屏蔽彩虹屏/用户自动登录/开机执行程序
- 系统自动以root登录,并自动启动用户程序的设置方法
- 为终端服务用户指定在用户登录时自动启动的程序
- 系统自动以root登录,并自动启动用户程序的设置方法
- C#.NET Form设置/取消开机自动运行,判断程序是否已经设置成开机自动启动(转载)
- linux自动以root登录,并自动启动用户程序的设置方法(适合sysVinit启动机制)
- arm:启动代码判断是从nand启动还是从norflash启动,拷贝程序到内存的过程
- 判断基于对话的程序是开机启动还是双击运行的
- linux自动以root登录,并自动启动用户程序的设置方
- ARMSYS2410-MULTIUAR 如何让系统启动时自动运行用户程序
- 判断应用是系统程序还是用户程序?
- linux自动以root登录,并自动启动用户程序的设置