c\#정시 에 다시 시작 하 는 애플 릿 구현 코드 1/2 페이지

1777 단어 c#정시 재 부팅
원 리 는 모두 가 잘 알 고 있 는 것 처럼 여 기 는.NET(c\#실현)만 말한다.서버 가 시작 되 거나 재 부팅 될 때마다 로그 인하 지 않 았 습 니 다.그것 은 시작 항목 에서 만 할 수 있 는 것 이 아니 라 윈도 서 비 스 를 사용 하 는 것 을 고려 한 것 이다.윈도 서 비 스 는 시스템 을 불 러 올 때 모든 서 비 스 를 시작 합 니 다.프로그램 을 안에 쓰 는 것 이 맞 을 것 입 니 다.다시 시작 해 야 합 니 다.그러면 한 시간 동안 효 과 를 봐 야 합 니 다.쓰기 방법 이 많 습 니 다.저 는 이 니 로 보관 합 니 다.Time 은 재 부팅 할 시간 을 기록 하고 시간 을 검증 합 니 다.Day 는 일 수 를 누적 하 는 데 쓰 인 다.4567913)System.Timers.Timer 순환 검증 시간(자원 을 너무 많이 차지 하 는 지 모 르 겠 습 니 다)

[Reboot]
Time=02:02:01
Day=3
서 비 스 를 처음으로 시작 하여 재 부팅 시간 과 일 수 를 초기 화하 고 초기 화 할 때 ini 파일 을 읽 으 며 시간 을 변수 에 넣 고 일 수 를 3 일 누적 합 니 다.(읽 기와 쓰기 I/O 의 비용 을 줄 이 는)끊 임 없 는 순환 검증

private void Timer_Elapsed(object sender, ElapsedEventArgs e)
{
if (DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") == retime)
{
Shoutdown.DoExitWin(0x00000002);
}
}
여 기 는 스 레 드 로 개조 할 수 있 습 니 다.이것 보다 좋 을 것 같 습 니 다.SQLSERVER 를 자동 으로 백업 하 는 코드 단 을 보 내 면 나중에 발 표 됩 니 다.

protected override void OnStart(string[] args)
{
ini = new IniFile(AppDomain.CurrentDomain.BaseDirectory + "Current.ini");
time = ini.IniReadValue("Reboot", "Time");
day = ini.IniReadValue("Reboot", "Day");

retime = DateTime.Now.AddDays(double.Parse(day)).ToString("yyyy-MM-dd ") + time;

autoTimer.AutoReset = true;
autoTimer.Enabled = true;
autoTimer.Elapsed += Timer_Elapsed;
autoTimer.Start();
}
1 2 다음 페이지 전문 을 읽다

좋은 웹페이지 즐겨찾기