2011-02-08 2 views
2

주기 날짜를 기반으로 작업 스케줄러를 구현하고 싶습니다. QT에서 API를 사용하여 구현하는 방법이 있습니까? 다른 질문, 현재 사용자의 사용자 이름과 암호를 지정해야합니까?QT를 사용하는 작업 스케줄러 API

답변

1

당신이 Windows 작업 스케줄러를 사용하려면 해당에 대한 COM API를 사용해야합니다 - 이런 종류는 일반적으로 크게 다르기 때문에 http://msdn.microsoft.com/en-us/library/aa383614%28v=vs.85%29.aspx

Qt는이 작업 스케줄링에 대한 일반적인 API를 제공하지 않습니다 다른 플랫폼 (UNIX의 Windows 작업 스케줄러 VS cron)과 일부 플랫폼 (모바일?)에는 아마도 동등한 자격이 없을 것입니다.

또 다른 옵션은 백그라운드에서 항상 실행되는 프로세스를 만들어 자신의 작업 일정을 잡아내는 것입니다. 이에 대한 한 가지 옵션은 로그인시 시작하는 일반 윈도우리스 프로세스이고, 또 다른 옵션은 동일한 이유로 여러 네이티브 API 사용을 필요로하는 Windows 서비스입니다. 항상 실행되는 독립 실행 형 프로세스는 대개 사용자가 싫어하며 그 중 일부는 로그인 할 때 프로세스를 종료하거나 사용하는 메커니즘을 비활성화 할 수 있습니다. 예약 된 작업은 더 명확하지 않으므로 사용자가 사용하지 못하게 할 가능성이 적습니다.

+1

어쨌든, 작업 스케줄러는 갈 길입니다. 이 일을 배경으로 뭔가를 실행하는 것은 사이클을 낭비하는 것입니다. 게다가 (지금 당장 언급 한 문서를 찾을 수는 없지만) 권장되는 방법입니다. – RedX

+0

필요한 해상도에 따라 다릅니다. Windows 작업 스케줄러는 특정 시간 (초 단위로 트리거 된 이벤트)에 이벤트를 발생시키지 않습니다. 가장 작은 반복 간격은 "1 분"입니다. 초 단위의 반복 간격입니다 (예 : 'PT10S' 또는'PT0M30S'는 간격 파싱 오류를 유발합니다. 'S'(초)는 나열되지만 작동하지 않습니다. https://msdn.microsoft.com/en-us/library/windows/desktop/aa382119(v=vs.85).aspx –