검색결과 리스트
C# Microsoft.Win32.TaskScheduler에 해당되는 글 1건
- 2015.07.28 [C#] 작업 스케줄러 등록
글
정말 오랜만에 포스팅을 한번 해 보는듯..
윈도우 관리자 권한 덕분에.. 뜨는 팝업창 -_-..
싫다.. 그래서 윈도우 시작하면 프로그램 실행 하면 자동으로 실행되게..
윈도우 사마께서 알아서 실행되게 해 주는...
근데 이게 또 안에 설정을 따라 바꿔야하니까 엄청 짜증난다.
근데 4.5에서 Task TaskScheduler 이분이 날 구원하셨으니..(4.0에서도 됩니다.)
코드 플렉스에 가보면 아래와 같은 파일이 존재한다.
처음에 COM+가 없어서 정말 고민하다가..
여기 저기 다 뒤져보니 떡하니 존재하는 아름다운 자식 ㅠㅠ
Microsoft.Win32.TaskScheduler.dll
뭐 무튼 이놈을 참조하고!!
using (TaskService taskService = new TaskService())
{
TaskDefinition taskDefinition = taskService.NewTask();
//일반
taskDefinition.Principal.DisplayName = "이름";
taskDefinition.RegistrationInfo.Description = "설명";
LogonTrigger login = new LogonTrigger();
taskDefinition.Principal.UserId = string.Concat(Environment.UserDomainName, "\\", Environment.UserName);
taskDefinition.Principal.LogonType = TaskLogonType.InteractiveToken;
taskDefinition.Principal.RunLevel = TaskRunLevel.Highest;
taskDefinition.Triggers.Add(login);
//조건
taskDefinition.Settings.MultipleInstances = TaskInstancesPolicy.IgnoreNew;
taskDefinition.Settings.DisallowStartIfOnBatteries = false;
taskDefinition.Settings.StopIfGoingOnBatteries = false;
taskDefinition.Settings.AllowHardTerminate = false;
taskDefinition.Settings.StartWhenAvailable = false;
taskDefinition.Settings.RunOnlyIfNetworkAvailable = false;
taskDefinition.Settings.IdleSettings.StopOnIdleEnd = false;
taskDefinition.Settings.IdleSettings.RestartOnIdle = false;
//설정
taskDefinition.Settings.AllowDemandStart = false;
taskDefinition.Settings.Enabled = true;
taskDefinition.Settings.Hidden = false;
taskDefinition.Settings.RunOnlyIfIdle = false;
taskDefinition.Settings.ExecutionTimeLimit = TimeSpan.Zero;
taskDefinition.Settings.Priority = System.Diagnostics.ProcessPriorityClass.High;
// 동작
taskDefinition.Actions.Add(new ExecAction(@"실행파일경로"));
// 등록
taskService.RootFolder.RegisterTaskDefinition("스케줄러 표시명", taskDefinition);
}
요런 코드를 넣어주면 들어간다.
만약 설정 내부 값이 잘못되면 등록에서 권한 문제 등을 일으키니까 정말 조심해야한다.
하나씩 코멘트를 달고 싶지만.. 각자가 알아서 하기!!
XML 추출은 작업 스케쥴러에서 내보내기 선택하면... 해당하는 내용을 볼 수가 있다.
그러면 각기 Setting에 대한 Element들을 통해서 원하는 방식으로 바꿔서 해 주면 된다.
4.5 관련해서 책을 잘 안봤더니...
하긴 책에도 이런건 없었던듯..
무튼 간만에 포스팅.. 삽질 끝!!
RECENT COMMENT