我已經在C#Windows窗體中構建了一個程序,現在在第一次加載時嘗試創建計劃任務。如果它引發異常,並且它在主計算機上,那麼這是軟件首次加載(您可以在多臺計算機上安裝該程序,但一臺計算機是計劃任務的主要計算機)。 (XP-SP1/2,Vista-SP1/2,Win7),現在當我嘗試在有限的用戶上安裝它時(在Win XP Pro SP2上)它會嘗試創建計劃任務。我得到一個參數空引用,當我輸入管理員用戶時,它將安裝在管理員用戶的計劃任務,並且如果有限的用戶登錄(99.9%的時間)將不會運行。爲什麼我得到這個例外?我找了幾個小時尋找這個異常的原因,但我找不到它!無法在Win XP中添加計劃任務,限制用戶
非常感謝!
阿米特
MainOrSec = true;
用戶和通行證是公共變量whice從FirstTimeUp回報。
private bool CreateNoExit()
{
try
{
RegistryKey key = Registry.CurrentUser;
key = key.OpenSubKey("Crm");
MainOrSec = Convert.ToBoolean(AESIMP.Decrypt((string)key.GetValue(AESIMP.Encrypt("MorS"))));
}
catch (ArgumentNullException)
{
MainOrSec = true;
}
if (MainOrSec)
{
ScheduledTasks sc = new ScheduledTasks();
Task task;
try
{
task = sc.CreateTask("NoExit");
FirstTimeUp f = new FirstTimeUp(this);
f.ShowDialog();
}
catch (ArgumentException)
{
return false;
}
if (!CreatT)
return false;
task.ApplicationName = @"C:\Program Files\Triffon\Crm Setup
2.0.0002\noexit.exe";
task.Comment = "Check For no exit on the database.";
task.SetAccountInformation(User, Pass);
task.IdleWaitMinutes = 10;
task.Triggers.Add(new DailyTrigger(5, 0));
try
{
task.Save();
task.Close();
sc.Dispose();
}
catch (COMException ex)
{
MessageBox.Show(ex.Message);
return false;
}
return true;
}
return false;
}
我們可以看到一些代碼嗎? – 2009-12-26 23:06:25
因爲我告訴過你它在每個系統上工作,但這個有限的用戶條件,雖然你不需要這樣做 - 因爲我有一個權限問題或一些代碼,我錯過了處理權限。我將編輯問題並添加代碼。 – Mazki516 2009-12-26 23:15:04
哪一行代碼會觸發異常?對於獎勵積分,打印該行中使用的每個變量的值,或使用調試器檢查它們。你可能會發現你試圖解引用null。 – 2009-12-26 23:24:29