资源简介
PC远程控制程序,类似于QQ远程协助代码,主要涉及的内容:图像获取,位图转换、压缩存储、多线程、Socket通信、内存映射,等等!
![](http://www.nz998.com/pic/64403.jpg)
代码片段和文件信息
#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个文件信息
相关资源
- 基于MFC扩展CListCtrl子项显示图片并叠
- 黑白棋(带简单AI)
- MFC程序-碰撞的小球
-
Cme
taFileDC的使用示例 - ado数据库MFC图书管理系统vs2010
- mfc单文档窗体画线与写字
- [免费]MFC制作目录树
- 冈萨雷斯 数字图像处理 源代码(m文
- 远程桌面(带C 源码)
- MFC读三维模型obj文件
- qt图像处理
- 画图程序MFC/VC/VC CRectTracker 串行化
- MFC网络编程实例
- c 程序判断离散数学中命题公式
- MFC控件动态拖动
- MFC中OpenGL面和体的绘制以及动画效果
- c MFC 画多边形
- RSA AES DES ECC加密算法源码
- Microsoft基本类库 (MFC)(C 库)
- 血液图像处理—细胞识别
- vc利用MFC底层开发的二维GIS管理软件,
- (MFC) 时钟日期程序
- 一个基于MFC的GridCtrl,提供类似Excel的
- 用MFC实现简单的画图功能
- MFC绘图小软件源代码(可当VC大作业用
- 基于MFC的文件目录树的对话框实现代
- VC 6.0 MFC做画图软件
- 空间后方交会MFC版,C 源代码
- 图像缩放(MFC)有详细的实现过程
- VC数字图像处理课程设计
评论
共有 条评论