C#程序开机启动与获取程序启动路径

来源:互联网 发布:淘宝网如何购物流程 编辑:程序博客网 时间:2024/06/06 00:18

写windows工具时,要进行电源管理,需要重启与开关机OS,这样工具就需要自动启动。查了网上很多资料,修改注册列表就可以。

但是,复制几个网站的代码并自己修改都发现不行,最后发现脚本之家这段代码才成功:(http://www.jb51.net/article/85817.htm)

//此方法把启动项加载到注册表中//获得应用程序路径string strAssName = Application.StartupPath + @"\" + Application.ProductName + @".exe";//获得应用程序名string ShortFileName = Application.ProductName;RegistryKey rgkRun = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);if (rgkRun == null){  rgkRun = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");}rgkRun.SetValue(ShortFileName, strAssName);//此删除注册表中启动项//获得应用程序名string ShortFileName = Application.ProductName;RegistryKey rgkRun = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);if (rgkRun == null){  rgkRun = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");}rgkRun.DeleteValue(ShortFileName, false);


获取程序启动路径

检查发现是rgkRun.SetValue用错,应该按上面代码,其他网站,没解释这个怎么用,搞混了。


当重启启动程序后,发现程序不能读取上次保存的log文件,发现是路径有问题,还得用上面程序代码获取文件路径:

string ShortFileName = Application.ProductName;
string strAssName = Application.StartupPath + @"\" + Application.ProductName + @".exe";

原创粉丝点击