응용 프로그램 데스크톱 사용자 서비스에서 액세스하는

기술 자료 번역 기술 자료 번역
기술 자료: 115825 - 이 문서가 적용되는 제품 보기.
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
모두 확대 | 모두 축소

요약

버전 3.1, Windows NT에서 응용 프로그램이 바탕 화면에 액세스할 수 있는 서비스를 원하는 경우 서비스가 LocalSystem 계정을 실행해야 합니다. LocalSystem 계정 또는 이러한 서비스를 시작할 프로세스를 실행하는 서비스 프로세스가 메시지 상자, 창 및 대화 상자를 표시할 수 있습니다. LocalSystem 계정을 실행 중인 프로세스에 의해 시스템 로그오프 중에 종료됩니다지 않습니다. 여러 가지 변경 내용 Windows NT 이러한 서비스와 상호 작용하는 방식에 영향을 미치는 NT 버전 3.5, 이루어졌습니다. 또한 Windows NT 3.51 풍부한 데스크톱 API 집합이 있습니다.

참고: 대화형 서비스는 시스템 계정에서 실행되고 있는 매우 있습니다 위험한 연습. 명령 프로세서 및 배치 파일 중 특히 유용합니다. 사용자는 시스템을 제어하는 데 사용자 대화형 시스템 명령 프롬프트를 가져오려면 Ctrl + C를 바로 도달했습니다 수 있습니다.

추가 정보

Windows NT 버전 3.5, 서비스에 영향을 주는 새로운 기능을 다음과 같습니다.
  • 로그인한 사용자의 계정은 응용 프로그램이 데스크톱 액세스가 부여된 유일한 계정입니다. 더 이상 있는 LocalSystem이 액세스합니다. 따라서, 사용자 또는 GDI 호출하기 전에 해당 사용자를 가장하여 바탕 화면에 액세스할 수 있습니다.
  • 보이지 않는 윈도우 스테이션 및 해당 세션에 고유한 데스크톱 서비스 프로세스에서 특정 로그온 세션 동안 시작되는 콘솔 및 GUI 응용 프로그램은 실행됩니다. 세션의 첫 번째 응용 프로그램이 시작될 때 윈도우 스테이션 및 데스크톱의 자동으로 만들어지고, 마지막 응용 프로그램이 끝날 때 삭제됩니다. 이러한 보이지 않는 데스크톱을 볼 수 있도록 방법이 없습니다.
  • localsystem 계정에 로그온한 사용자와 상호 작용할 수 있는 서비스를 원하는 경우 CreateService() 호출하면 SERVICE_INTERACTIVE_PROCESS 플래그를 지정하십시오. 예를 들어,:
          schService = CreateService(
             schSCManager,
             serviceName,
             serviceName,
             SERVICE_ALL_ACCESS,
             SERVICE_INTERACTIVE_PROCESS | SERVICE_WIN32_OWN_PROCESS,
             SERVICE_DEMAND_START,
             SERVICE_ERROR_NORMAL,
             lpszBinaryPathName,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL );
    						
    SERVICE_INTERACTIVE_PROCESS 사용할 때 localsystem 아닌 다른 계정을 지정하면 오류가 발생합니다 (87) INVALID_PARAMETER.
  • CreateProcess() 사용하여 프로세스를 시작 및 원하는 서비스 사용자가 바탕 화면을 로그온할 경우 "WinSta0\\Default" STARTUPINFO 구조체의 lpdesktop 매개 변수를 할당하십시오.
  • 단순히 시각적 사용자 알림 서비스가 이 MB_SERVICE_NOTIFICATION 플래그와 함께 MessageBox() 호출하여 작업을 수행할 수 있습니다. 경우에만 사용자의 바탕 화면이 활성화되어 있는지를 있지만 MB_DEFAULT_DESKTOP_ONLY 플래그를 사용하여 함께 사용할 수 있습니다. 워크스테이션이 잠겨 있거나 화면 보호기가 실행되는 경우 호출이 실패합니다.

    참고: 서비스 또는 실행 파일을 실행할 수 있는 응용 프로그램의 코드를 작성하는 경우 때는 NULL이 아닌 hwndOwner 뿐만 아니라 MB_SERVICE_NOTIFICATION 사용할 수 없습니다.
  • 모든 출력 창에 수행할 않는 표시되거나 어떤 방법으로 응용 프로그램에 사용할 수 있게. 비트 오류가 표시 결과를 읽을 시도합니다.
  • GUI 서비스를 WM_QUERYENDSESSION/WM_ENDSESSION 로그오프 및 시스템 종료 메시지가 나타나지 않습니다; 대신, CTRL_LOGOFF_EVENT 및 CTRL_SHUTDOWN_EVENT 이벤트를 받습니다. 로그오프 시 시스템에서 이러한 서비스가 종료됩니다지 않습니다.

속성

기술 자료: 115825 - 마지막 검토: 2014년 3월 1일 토요일 - 수정: 2.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Win32 Application Programming Interface?을(를) 다음과 함께 사용했을 때
    • Microsoft Windows NT 4.0
    • Microsoft Windows NT 3.51 서비스 팩 5
키워드:?
kbnosurvey kbarchive kbmt KB115825 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com