我已经在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