2012-04-23 1 views
0

Windows OS에서 실행되도록 설계된 C++/MFC로 작성된 로컬 시스템 서비스 응용 프로그램이 있습니다. 시스템이 부팅 될 때이 서비스 내부에서 코드를 실행해야합니다. 나의 초기 아이디어는 StartServiceCtrlDispatcher() API에 대한 호출에 의해 정의 된 ServiceMain() 대기 함수의 시작 부분부터 실행하는 것이었지만이 서비스를 중지했다가 다시 시작하면 문제가 발생합니다.Windows 서비스 응용 프로그램에서 시스템을 부팅 할 때 코드를 실행하는 방법은 무엇입니까?

+0

더 소리 ... – ildjarn

+0

아니, 모든 나는 알 필요가 시스템이 부팅 된 시간입니다. – ahmd0

+1

그렇다면 'net statistics server'의 문제점은 무엇입니까? – ildjarn

답변

1

서비스가 필요없는 것 같습니다. 예약 된 작업에서도 동일한 작업을 수행 할 수 있습니다. 당신은, 또는 명령 줄에서 시스템 시작시 작업을 시작하는 트리거 작업을 만들 수 taskschd.msc을 사용할 수 있습니다 : 당신이 서비스를보다 드라이버를 원하는처럼

schtasks.exe /Create /SC ONSTART /TN MyTaskName /TR c:\Path_to_my_tool\my_executable.exe 
+0

감사합니다. 알다시피, 나는이 목적을 위해서만 서비스를 만들고있는 것이 아닙니다. 이미 시스템 부팅 시간을 알아야하는 서비스가 있습니다. 예약 된 작업 관리자는 서비스 자체이므로 어떻게 든 알아야합니다. 맞습니까? – ahmd0

+0

서비스 인 exe를 이미 가지고 있다면 특별한 매개 변수를 사용하여 예약 된 작업으로 호출하십시오. 예 :'myservice.exe/OnStartup'. 기존 서비스 구문 분석 명령 줄에서 명령 줄 옵션이있는 경우에만 시작할 때 실행할 코드를 실행합니다. –

관련 문제