感謝,因爲您已經到過這篇文章。 我的腳本有錯誤,日誌說:C#錯誤當Windows啓動時,拒絕訪問路徑'C: Windows system32 Com dmp''
訪問路徑'C:\ Windows \ system32 \ Com \ dmp'被拒絕。
我想設置我的應用程序Windows啓動,所以當計算機客戶端啓動,我的軟件會自動運行。所以我把這個腳本放在我的Main Load上。
private void Main_Load(object sender, EventArgs e)
{
//Menjadikan software ke dalam Startup Windows, sehingga dapat berjalan ketika pc pertama kali dinyalakan
RegistryKey reg = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
reg.SetValue("PR Reminder", Application.ExecutablePath.ToString());
listMapel();
bool notif = Properties.Settings.Default.Notification;
if (notif == true)
{
checkExpired(); //Mengecek tanggal penyerahan dan pemberian
}
結果是工作。但是我得到這樣的錯誤。
探索更深入地後,該問題的中心是所述方法listMapel();他的任務是搜索本地目錄中以.db結尾的文件。
我不知道爲什麼這個方法有錯誤。當我嘗試刪除此方法時,我的應用程序在啓動時運行良好。 我認爲問題出在system.io上。
這是我的listMapel();方法腳本
public void listMapel()
{
comboListMapel.Items.Clear();
string path = Directory.GetCurrentDirectory(); //Lokal direktori
string[] files = Directory.GetFiles(path, "*.db", SearchOption.AllDirectories);
foreach (string file in files)
{
nama = file.Split(".".ToCharArray()); //Hasil result yang ditampilkan Matapelajaran.db (Tapi dengan ini kita mengambil string sebelum .db
comboListMapel.Items.Add(Path.GetFileName(nama[0]));
}
}
您是否嘗試添加清單並允許應用程序以管理員身份運行? –
當我設置此應用程序以管理員身份運行時,此應用程序不會出現在Windows啓動 –
可執行文件位於何處?我敢打賭,它位於其他地方,但它被OS調用的方式包括該系統文件夾的工作目錄。您應該能夠以某種方式指定工作目錄(類似於如何使用快捷方式)到exe的實際目錄,而不是您無權訪問的系統目錄。這是假設您的exe位於該文件夾之外。 IOW'GetCurrentDirectory'是罪魁禍首。你可以設置當前目錄https://msdn.microsoft.com/en-us/library/system.io.directory.setcurrentdirectory(v=vs.110).aspx – pinkfloydx33