我已經創建了一個應用程序與Windows啓動時啓動的選項。 首先,我通過註冊表這樣做,就像這樣:與Windows啓動C奇怪的行爲#
private void RunOnStartup(bool RunOnStartup) {
Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (RunOnStartup) {
key.SetValue(ProgramTitle, System.Windows.Forms.Application.ExecutablePath.ToString());
} else {
key.DeleteValue(ProgramTitle, false);
}
}
而這個工作,但不正確。它啓動了.exe,但具有與使用缺省「config.xml」所需的新行爲相同的行爲。這顯然是錯誤的。
我沒有設法找出問題所在,所以我嘗試了不同的方式:在Startup文件夾中創建快捷方式。不能出錯我想,我的意思是,這只是一個快捷方式吧?
我用這個代碼:
private void RunOnStartup(bool RunOnStartup) {
string startup = Environment.GetFolderPath(Environment.SpecialFolder.Startup) + "\\"+ProgramTitle+".url";
if (RunOnStartup) {
using (StreamWriter writer = new StreamWriter(startup)) {
string app = System.Reflection.Assembly.GetExecutingAssembly().Location;
writer.WriteLine("[InternetShortcut]");
writer.WriteLine("URL=file:///" + app);
writer.WriteLine("IconIndex=0");
string icon = app.Replace('\\', '/');
writer.WriteLine("IconFile=" + icon);
writer.Flush();
}
} else {
if (File.Exists(startup)) {
File.Delete(startup);
}
}
}
而且這個工作中,也開始了,但具有相同的行爲。
所以我的問題是,有沒有人知道這是怎麼發生的?任何幫助深表感謝!
感謝
「它開始的.exe文件,但具有相同的行爲,因爲它是一個新的使用默認的'config.xml',這顯然是錯誤的。「這根本不明顯,因爲我們不知道你的應用程序應該做什麼,並且影響各種config.xml文件應該對它有什麼影響。 – 2010-05-25 19:55:55
它只是爲它的值讀出一個.xml文件,除此之外沒有別的,所以不要認爲它會干擾。 – FrieK 2010-05-25 20:58:44