2009-06-30 4 views
1

RNC와 결합 된 VNC를 사용하는 동안 VNC가 수행하는 동작, 즉 RDP (mstsc)를 사용하여 컴퓨터에 연결 한 다음 그 동작에 연결하려고합니다 컴퓨터가 VNC를 사용하면 RDP 세션이 끊어지며 대상 컴퓨터에서 화면이 깜박이면서 (검은 색 화면이 한 번 표시됨) VNC를 통해 연결됩니다. 내가 알고 싶은 것은 VNC가 활성을 끊는 방법 RDP 세션, 모든 코드 스 니펫은 정말 도움이 될 것입니다. 감사합니다.VNC가 이미 연결된 RDP 세션 연결을 끊는 방법

답변

2

VNC를 사용하여 연결할 때 WinStationConnectW (문서화되지 않음)를 사용하여 콘솔 세션에 연결하려고하면 RDP 세션 연결이 끊어집니다. TightVNC에서

Here is a snippet :

void setConsoleSession(DWORD sessionId) { 
#ifdef RFB_HAVE_WINSTATION_CONNECT 
    if (!_WinStationConnect.isValid()) 
     throw rdr::Exception("WinSta APIs missing"); 
    if (sessionId == -1) 
     sessionId = mySessionId.id; 

    // Try to reconnect our session to the console 
    ConsoleSessionId console; 
    vlog.info("Console session is %d", console.id); 
    if (!(*_WinStationConnect)(0, sessionId, console.id, L"", 0)) 
     throw rdr::SystemException("Unable to connect session to Console", GetLastError()); 

    // Lock the newly connected session, for security 
    if (_LockWorkStation.isValid()) 
     (*_LockWorkStation)(); 
#else 
    throw rdr::Exception("setConsoleSession not implemented"); 
#endif 
    } 
관련 문제