당신은 어떻게 소통하는 사 Windows Vista 세 0 데스크탑?
-
09-06-2019 - |
문제
이전 버전의 Windows Vista 이전에할 수 있는 윈도우 서비스와 상호작용을 현재에 기록 desktop 사용하기 쉬운 디스플레이 정보 화면에서 서비스입니다.Windows Vista 션 0 가 추가 보안을 위해 분리 서비스 데스크톱에서.는 무엇입하는 쉬운 방법이 간에 통신 서비스와 외부에서 실행 중인 프로그램의 세 0?지금까지 받고있는 이를 사용하여 TCP/IP 통신을 사이에 두지만 그것은 종류의 실수 그것을 할 수있는 방법입니다.
해결책
당신이 사용할 수 있는 공유 메모리 또는 파이프라를 촉진하 IPC 니다.개념적으로 이것은 비슷한 TCP/IP,하지만 당신은 없을 찾기에 대해 걱정할 필요가 없는 사용하지 않은 포트가 있습니다.
이 있는지 확인하라는 개체를 만들은 앞에"글로벌\"들이 이용하여 액세스 모든 세션에 설명된 대로 기.
AFAIK 방법은 없을 위한 서비스를 직접 상호 작용과 함께 데스크탑니다.
다른 팁
실제로,보안 상의 이유로 그것은 더 이상 가능 직접 소통하고 함께"데스크탑".정확히 무슨은"데스크탑"어쨌든,당신은 라이브에서는 기계와 함께 여러 활성 사용자가+세션?
일반 문제를 해결하는 방법은 사용하는 서비스 응용 프로그램를 통해 통신하는 어떤 RPC 메커니즘(TCP/IP,IPC,.원격으로 사용 가능한 채널을 통해 하나의 사람들,etc.).그것의 종류의 고통을,그러나 내가 생각하는 혜택을 가치가 있습니다.
서비스에 대해 이야기를 바탕 화면,당신은 꽤 많이 붙어 중의 하나 RPC 메커니즘이 있습니다.니다.NET 원격 메커니즘(IpcServerChannel 가)하드를 구현한다.
또한다.NET 데스크탑 응용 프로그램 메시지를 보낼 수 있는 직접적으로 서비스 전달.ExecuteCommand.이러한 명령을 받았을 통해 서비스 는 servicebase 에.OnCustomCommand.이도 쉽게 할 것 당신이 필요로하는 모든 경우에 서비스를 제어하는 유일한 요구 사항입니다.