资源简介
本软件具有像winxp的远程桌面的功能外,还具有可选像素的功能,可实现远程桌面监视、远程桌面控制等功能,有需要的可参考下,谢谢大家支持~
代码片段和文件信息
#include “stdafx.h“
#include “base64.h“
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
CString Cbase64::m_sbase64Alphabet =
_T( “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/“ );
int Cbase64::m_nMask[] = { 0 1 3 7 15 31 63 127 255 };
Cbase64::Cbase64()
{
}
Cbase64::~Cbase64()
{
}
CString Cbase64::Encode(LPCTSTR szEncoding int nSize)
{
CString sOutput = _T( ““ );
int nNumBits = 6;
UINT nDigit;
int lp = 0;
ASSERT( szEncoding != NULL );
if( szEncoding == NULL )
return sOutput;
m_szInput = szEncoding;
m_nInputSize = nSize;
m_nBitsRemaining = 0;
nDigit = read_bits( nNumBits &nNumBits lp );
while( nNumBits > 0 )
{
sOutput += m_sbase64Alphabet[ (int)nDigit ];
nDigit = read_bits( nNumBits &nNumBits lp );
}
// Pad with ‘=‘ as per RFC 1521
while( sOutput.GetLength() % 4 != 0 )
{
sOutput += ‘=‘;
}
return sOutput;
}
// The size of the output buffer must not be less than
// 3/4 the size of the input buffer. For simplicity
// make them the same size.
int Cbase64::Decode(LPCTSTR szDecoding LPTSTR szOutput)
{
CString sInput;
int c lp =0;
int nDigit;
int nDecode[ 256 ];
ASSERT( szDecoding != NULL );
ASSERT( szOutput != NULL );
if( szOutput == NULL )
return 0;
if( szDecoding == NULL )
return 0;
sInput = szDecoding;
if( sInput.GetLength() == 0 )
return 0;
// Build Decode Table
//
for( int i = 0; i < 256; i++ )
nDecode[i] = -2; // Illegal digit
for( i=0; i < 64; i++ )
{
nDecode[ m_sbase64Alphabet[ i ] ] = i;
nDecode[ m_sbase64Alphabet[ i ] | 0x80 ] = i; // Ignore 8th bit
nDecode[ ‘=‘ ] = -1;
nDecode[ ‘=‘ | 0x80 ] = -1; // Ignore MIME padding char
}
// Clear the output buffer
memset( szOutput 0 sInput.GetLength() + 1 );
// Decode the Input
//
for( lp = 0 i = 0; lp < sInput.GetLength(); lp++ )
{
c = sInput[ lp ];
nDigit = nDecode[ c & 0x7F ];
if( nDigit < -1 )
{
return 0;
}
else if( nDigit >= 0 )
// i (index into output) is incremented by write_bits()
write_bits( nDigit & 0x3F 6 szOutput i );
}
return i;
}
UINT Cbase64::read_bits(int nNumBits int * pBitsRead int& lp)
{
ULONG lScratch;
while( ( m_nBitsRemaining < nNumBits ) &&
( lp < m_nInputSize ) )
{
int c = m_szInput[ lp++ ];
m_lBitStorage <<= 8;
m_lBitStorage |= (c & 0xff);
m_nBitsRemaining += 8;
}
if( m_nBitsRemaining < nNumBits )
{
lScratch = m_lBitStorage << ( nNumBits - m_nBitsRemaining );
*pBitsRead = m_nBitsRemaining;
m_nBitsRemaining = 0;
}
else
{
lScratch = m_lBitStorage >> ( m_nBitsRemaining - nNumBits );
*pBitsRead = nNumBits;
m_nBitsRemaining -= nNumBits;
}
return (UINT)lScratch & m_nMask[nNumBits];
}
void Cbase64::write_bits(UINT nBits
int nNumBits
LPTSTR szOutput
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3282 2001-11-19 16:47 远程桌面(用C++写的)源代码\15远程\ba
文件 794 2001-11-19 16:49 远程桌面(用C++写的)源代码\15远程\ba
文件 5851 2001-12-21 16:40 远程桌面(用C++写的)源代码\15远程\PeeperClient\PeeperClient.001
文件 704540 2009-05-23 18:10 远程桌面(用C++写的)源代码\15远程\PeeperClient\PeeperClient.aps
文件 2860 2001-11-12 15:14 远程桌面(用C++写的)源代码\15远程\PeeperClient\PeeperClient.cpp
文件 5836 2009-05-23 13:36 远程桌面(用C++写的)源代码\15远程\PeeperClient\PeeperClient.dsp
文件 549 2009-05-23 11:57 远程桌面(用C++写的)源代码\15远程\PeeperClient\PeeperClient.dsw
文件 1212 2001-10-31 11:20 远程桌面(用C++写的)源代码\15远程\PeeperClient\PeeperClient.h
文件 328704 2009-05-23 18:13 远程桌面(用C++写的)源代码\15远程\PeeperClient\PeeperClient.ncb
文件 55808 2009-05-23 18:13 远程桌面(用C++写的)源代码\15远程\PeeperClient\PeeperClient.opt
文件 1083 2009-05-23 18:11 远程桌面(用C++写的)源代码\15远程\PeeperClient\PeeperClient.plg
文件 16606 2009-05-23 17:57 远程桌面(用C++写的)源代码\15远程\PeeperClient\PeeperClient.rc
文件 1573 2001-11-12 16:06 远程桌面(用C++写的)源代码\15远程\PeeperClient\PeeperClientDoc.cpp
文件 572 2001-10-22 20:00 远程桌面(用C++写的)源代码\15远程\PeeperClient\PeeperClientDoc.h
文件 28581 2009-05-23 18:08 远程桌面(用C++写的)源代码\15远程\PeeperClient\PeeperFrm.cpp
文件 2836 2009-05-23 18:08 远程桌面(用C++写的)源代码\15远程\PeeperClient\PeeperFrm.h
文件 1244 2001-11-12 16:07 远程桌面(用C++写的)源代码\15远程\PeeperClient\PeeperSetDlg.cpp
文件 607 2001-10-22 20:00 远程桌面(用C++写的)源代码\15远程\PeeperClient\PeeperSetDlg.h
文件 28910 2009-05-23 18:08 远程桌面(用C++写的)源代码\15远程\PeeperClient\PeeperWnd.cpp
文件 4377 2009-05-23 18:08 远程桌面(用C++写的)源代码\15远程\PeeperClient\PeeperWnd.h
文件 10134 2001-10-22 20:00 远程桌面(用C++写的)源代码\15远程\PeeperClient\res\100.ico
文件 10454 2001-10-22 20:00 远程桌面(用C++写的)源代码\15远程\PeeperClient\res\200.ico
文件 5854 2001-10-22 20:00 远程桌面(用C++写的)源代码\15远程\PeeperClient\res\bitmap1.bmp
文件 346854 2009-05-23 14:12 远程桌面(用C++写的)源代码\15远程\PeeperClient\res\ClientBk.bmp
文件 28856 2001-10-25 08:40 远程桌面(用C++写的)源代码\15远程\PeeperClient\res\ClientBk1.bmp
文件 28854 2009-05-23 12:14 远程桌面(用C++写的)源代码\15远程\PeeperClient\res\ClientBk2.bmp
文件 238 2001-10-22 20:00 远程桌面(用C++写的)源代码\15远程\PeeperClient\res\dibview.bmp
文件 1078 2001-10-22 20:00 远程桌面(用C++写的)源代码\15远程\PeeperClient\res\Internet.ico
文件 160838 2009-05-23 13:35 远程桌面(用C++写的)源代码\15远程\PeeperClient\res\PeeperClient.ico
文件 404 2001-10-22 20:00 远程桌面(用C++写的)源代码\15远程\PeeperClient\res\PeeperClient.rc2
............此处省略37个文件信息
- 上一篇:FFT算法的c语言实现
- 下一篇:多元线性回归c++算法
评论
共有 条评论