2010-06-28 99 views
0

因此,我得到了一段很好的代碼,它允許我通過單擊一個按鈕來啓用程序的自動啓動,並通過單擊其他代碼來禁用它(它使用「SetValue」創建註冊條目並刪除「DeleteValue」它)。我用它在簡單的程序中,並且它開始於Windows,因爲我想。當我在更復雜的程序中使用相同的代碼時,問題就開始了,它將設置保存在「debug」文件夾(這是textreader和textwriter的默認位置)中的文件中。啓動期間,它顯示異常,當我單擊繼續時,使用默認設置。有趣的是,它說「System.IO.DirectoryNotFoundException:找不到路徑的一部分'C:\ Documents and Settings \ OWner \ autostart.txt'。」即使autostart.txt從來不應該在此文件夾中。我猜在自動啓動時,程序開始在C:\ Documents and Settings \ OWner \中查找配置文件,而不是自己的文件夾。任何人有任何想法爲什麼?c#程序在自動啓動後丟失文件路徑

回答

0

你有2個(含)以上選項:

  1. 查詢您的應用程序執行(各種方式來做到這一點)的路徑。
  2. 在快捷方式/啓動器中設置工作目錄。
+0

至於1.我使用Assembly.GetExecutingAssembly()。位置,它發現它總是在調試文件夾中執行 – Gatlimir 2010-06-28 06:54:12

+0

因此,建立你的autostart.txt路徑與這個值,或不?你可以使用Path.Combine(String,String) – Andreas 2010-06-28 07:40:11