通过创建windows服务来控制程序随系统启动是最理想方式,管理,控制都比较正规.windows服务来实现随系统启动比较复杂.难道就没有简单的方法吗?答案是有.就是通过启动组来实现程序随系统启动.
原理:就是通过向启动组里创建程序的快捷方式,来实现随系统启动而启动.
这个方法实现的典型例子有SQL SERVER和QQ,都是才这方式.相对windows服务来控制程序启动,启动组启动是最简洁的,同时用代码实现是就简单.只要在代码编写向启动组添加,删除程序的快捷方式就可以了.
注意: 需要引用window script host object model 组件
以下是简单的实现启动组启动的代码
WshShell shell = new WshShell();
IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(
Environment.GetFolderPath(Environment.SpecialFolder.Startup) +
"//" + "HwSpiritth.lnk" //HwSpiritth.lnk 是程序的快捷方式名称
);
shortcut.TargetPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
shortcut.WorkingDirectory = System.Environment.CurrentDirectory;
shortcut.WindowStyle = 1;
shortcut.Description = "HwSpiritth.lnk"; //HwSpiritth.lnk 是程序的快捷方式名称
shortcut.IconLocation = System.Environment.CurrentDirectory + "//" + "HwSpirit.ico"; // 快捷方式图标
shortcut.Save();