2011-11-15 1 views
4

모든 사용자의 컴퓨터에서 지속적으로 실행되도록하려면 특정 프로세스가 필요합니다. 그 .exe가 죽으면, 내가 다시 시작하고 경고를 보낼 수 있어야합니다.
나는 즉시 이상적인 솔루션으로 Windows 서비스를 구축하는 생각,하지만 난 문제에 직면하고있다 : 해당 서비스 시작 프로세스는 사용자, 예를 들어, 상호 작용 할 수 있어야Windows 사용자 프로세스를 시작하고 다시 시작하는 서비스 (GUI 사용)

  • GUI를 보여줄 수 있어야한다.
  • 내 응용 프로그램도 the user's typing rhythms을 모니터링하기 위해 키보드 후크를 설정하고 서비스에서 .exe를 시작할 때 해당 정보에 액세스 할 수 없습니다.

서비스에서 "사용자로"(LogonUser 및 CreateProcessAsUser 함수 사용) 프로세스를 시작할 수 있지만 여전히 GUI를 볼 수 없습니다.
이것이 가능합니까? 그렇지 않다면 원하는 기능을 얻기 위해 무엇을 사용할 수 있습니까? 기본적으로

TIA

+0

저는 Windows 7에서 더 이상 서비스가 데스크톱과 상호 작용할 수 없다고 생각합니다. 나는 이것에 틀릴 수 있었다. 덕분에 –

답변

3

.EXE는 사용자의 대화 형 세션에서 별도의 서비스 세션에서 실행됩니다 GUI. interactive service을 구축하기위한 기술을 조사해야합니다.

+0

. "간접적으로 서비스에서 사용자와 상호 작용"섹션에서 설명한 솔루션은 대화 상자를 표시하는 문제를 쉽게 해결하지만 불행히도 내 응용 프로그램은 [사용자의 타이핑] (http : //en.wikipedia)을 모니터링하기 위해 키보드 후크를 설정합니다. .org/wiki/Keystroke_dynamics). 서비스에서 .exe를 시작하면 해당 정보에 액세스 할 수 없습니다. 이 추가 문제로 내 질문을 업데이트했습니다. – baderous