资源简介

PC远程控制程序,类似于QQ远程协助代码,主要涉及的内容:图像获取,位图转换、压缩存储、多线程、Socket通信、内存映射,等等!

资源截图

代码片段和文件信息

#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

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-12-21 10:19  65520755MyControlPC3.26\
     目录           0  2013-01-06 17:52  65520755MyControlPC3.26\MyControlPC3.26\
     文件        3282  2001-11-19 16:47  65520755MyControlPC3.26\MyControlPC3.26\base64.cpp
     文件         794  2001-11-19 16:49  65520755MyControlPC3.26\MyControlPC3.26\base64.h
     目录           0  2013-09-02 19:16  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\
     文件        4886  2011-02-22 11:45  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\MyConfigure.cpp
     文件         856  2011-01-12 15:53  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\MyConfigure.h
     文件        5802  2011-02-22 10:18  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\MyCtrlPC.001
     文件      200460  2012-12-21 10:20  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\MyCtrlPC.aps
     文件        3169  2011-02-22 11:52  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\MyCtrlPC.cpp
     文件        5891  2011-02-22 12:00  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\MyCtrlPC.dsp
     文件         541  2011-02-22 10:18  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\MyCtrlPC.dsw
     文件        1246  2011-02-22 11:48  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\MyCtrlPC.h
     文件     4336640  2013-09-02 19:19  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\MyCtrlPC.ncb
     文件       56832  2012-12-29 15:15  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\MyCtrlPC.opt
     文件        3465  2012-12-21 10:21  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\MyCtrlPC.plg
     文件       19713  2011-03-26 11:07  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\MyCtrlPC.rc
     文件        2560  2013-09-02 09:38  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\MyCtrlPC.suo
     文件        1525  2011-02-22 10:18  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\MyCtrlPCDoc.cpp
     文件         550  2011-02-22 10:18  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\MyCtrlPCDoc.h
     文件       28572  2011-03-26 11:08  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\PeeperFrm.cpp
     文件        2826  2011-03-26 11:08  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\PeeperFrm.h
     文件        1552  2011-02-22 12:00  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\PeeperSetDlg.cpp
     文件         672  2011-02-22 11:49  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\PeeperSetDlg.h
     文件       28886  2011-03-26 11:08  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\PeeperWnd.cpp
     文件        4379  2011-03-26 11:08  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\PeeperWnd.h
     目录           0  2013-09-02 09:37  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\Release\
     文件       10082  2012-12-21 10:21  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\Release\base64.obj
     文件           0  2012-12-21 10:21  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\Release\base64.sbr
     文件       25785  2012-12-21 10:21  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\Release\MyConfigure.obj
     文件           0  2012-12-21 10:21  65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\Release\MyConfigure.sbr
............此处省略81个文件信息

评论

共有 条评论