我的應用程序需要在Windows啓動時啓動。所以我寫了一個批處理文件來運行應用程序。c中的啓動腳本#
這是將批處理文件路徑條目寫入註冊表的代碼。
private void RegisterInStartup(bool isChecked)
{
RegistryKey registryKey = Registry.CurrentUser.OpenSubKey
("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (isChecked)
{
registryKey.SetValue("ApplicationName", Application.StartupPath+"\\autorun.bat");
}
else
{
registryKey.DeleteValue("ApplicationName");
}
}
這是我的批處理文件代碼。
start File.exe
exit
當我重新啓動我的系統時,批處理文件正在執行,但應用程序File.exe未執行。
爲什麼會發生這種情況?
「誰能告訴我爲什麼會發生這種情況?」我們可以猜到,但是已經執行了哪些診斷(例如,進程監視器跟蹤)?我會懷疑路徑問題,但需要這些診斷來確認。 – Richard 2012-07-28 14:12:46
PS。爲什麼不直接從'Run'鍵運行應用程序('file.exe')? PPS。該註冊表項涉及該用戶登錄,而不是系統啓動。 – Richard 2012-07-28 14:13:49
是的,我知道,註冊表項是當前用戶 我也試圖直接設置爲(的file.exe)的路徑,但我得到了很多errorlike 的'看到這個消息的結尾的詳細信息,調用 剛剛在(JIT)調試而不是此對話框。 **************例外文本************** System.Data.SQLite.SQLiteException:SQLite錯誤 no such table:t01_shedule' 實際上表格在那裏,當我通過手動運行file.exe時它正在完美工作 – Arun 2012-07-28 14:25:06