资源简介
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\ba
文件 794 2001-11-19 16:49 65520755MyControlPC3.26\MyControlPC3.26\ba
目录 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\ba
文件 0 2012-12-21 10:21 65520755MyControlPC3.26\MyControlPC3.26\PeeperClient\Release\ba
文件 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个文件信息
相关资源
- 数字图像处理大作业.zip
- 图像结合畸变矫正-数字图像处理
- 旅行模拟查询系统
- 数字图像处理第三版中文及英文答案
- Mastering OpenCV with Practical Computer Visio
- 医学图像处理与分析.pdf
- 数字图像处理复习资料.doc
- 基于DSP的图像处理
- 综合性图像处理系统设计与开发
- a* 算法 人工智能 拼图游戏
- 中国地图着色
- 《医学图像编程技术》源码
- 数字图像处理方法的研究文献翻译
- VC数字图像处理 特效显示代码
- 灰度图像基本处理,包括二值化和求
- 图像处理毕业论文含程序、论文、答
- 数字图像处理——基础篇谷口庆治
- 数字图像处理第三版中文答案
- 数字图像处理课件 ppt
- 医学图像处理的医学图片
- 粒子群算法在图像处理中的应用
- 基于STM32的数字字符识别.zip
- 图像处理标准图像库 很全
- 广东工业大学数字图像处理作业
- 图像处理标准图像库非常齐全.rar
- 稀疏冗余表示 在信号和图像处理方面
- 图像处理标准图像库齐全
- 最简单的基于DirectShow的
- 流萤远程控制 控制 控制3.0
- DirectShow的视频播放器.rar
评论
共有 条评论