資源簡(jiǎn)介
瀏覽器截屏程序源代碼(C++)
開發(fā)環(huán)境:VS2013
實(shí)現(xiàn)方式:MFC
代碼片段和文件信息
#include?“stdafx.h“
#include?“base64.h“
string?Zbase64::Encode(const?unsigned?char*?Data?int?DataByte)
{
//編碼表
const?char?EncodeTable[]?=?“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/“;
//返回值
string?strEncode;
unsigned?char?Tmp[4]?=?{?0?};
int?LineLength?=?0;
for?(int?i?=?0;?i?(int)(DataByte?/?3);?i++)
{
Tmp[1]?=?*Data++;
Tmp[2]?=?*Data++;
Tmp[3]?=?*Data++;
strEncode?+=?EncodeTable[Tmp[1]?>>?2];
strEncode?+=?EncodeTable[((Tmp[1]?<4)?|?(Tmp[2]?>>?4))?&?0x3F];
strEncode?+=?EncodeTable[((Tmp[2]?<2)?|?(Tmp[3]?>>?6))?&?0x3F];
strEncode?+=?EncodeTable[Tmp[3]?&?0x3F];
if?(LineLength?+=?4?LineLength?==?76)?{?strEncode?+=?“\r\n“;?LineLength?=?0;?}
}
//對(duì)剩余數(shù)據(jù)進(jìn)行編碼
int?Mod?=?DataByte?%?3;
if?(Mod?==?1)
{
Tmp[1]?=?*Data++;
strEncode?+=?EncodeTable[(Tmp[1]?&?0xFC)?>>?2];
strEncode?+=?EncodeTable[((Tmp[1]?&?0x03)?<4)];
strEncode?+=?“==“;
}
else?if?(Mod?==?2)
{
Tmp[1]?=?*Data++;
Tmp[2]?=?*Data++;
strEncode?+=?EncodeTable[(Tmp[1]?&?0xFC)?>>?2];
strEncode?+=?EncodeTable[((Tmp[1]?&?0x03)?<4)?|?((Tmp[2]?&?0xF0)?>>?4)];
strEncode?+=?EncodeTable[((Tmp[2]?&?0x0F)?<2)];
strEncode?+=?“=“;
}
return?strEncode;
}
string?Zbase64::Decode(const?char*?Data?int?DataByte?int&?OutByte)
{
//解碼表
const?char?DecodeTable[]?=
{
0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0
0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0
62?//?‘+‘
0?0?0
63?//?‘/‘
52?53?54?55?56?57?58?59?60?61?//?‘0‘-‘9‘
0?0?0?0?0?0?0
0?1?2?3?4?5?6?7?8?9?10?11?12
13?14?15?16?17?18?19?20?21?22?23?24?25?//?‘A‘-‘Z‘
0?0?0?0?0?0
26?27?28?29?30?31?32?33?34?35?36?37?38
39?40?41?42?43?44?45?46?47?48?49?50?51?//?‘a(chǎn)‘-‘z‘
};
//返回值
string?strDecode;
int?nValue;
int?i?=?0;
while?(i? {
if?(*Data?!=?‘\r‘?&&?*Data?!=?‘\n‘)
{
nValue?=?DecodeTable[*Data++]?<18;
nValue?+=?DecodeTable[*Data++]?<12;
strDecode?+=?(nValue?&?0x00FF0000)?>>?16;
OutByte++;
if?(*Data?!=?‘=‘)
{
nValue?+=?DecodeTable[*Data++]?<6;
strDecode?+=?(nValue?&?0x0000FF00)?>>?8;
OutByte++;
if?(*Data?!=?‘=‘)
{
nValue?+=?DecodeTable[*Data++];
strDecode?+=?nValue?&?0x000000FF;
OutByte++;
}
}
i?+=?4;
}
else//?回車換行跳過
{
Data++;
i++;
}
}
return?strDecode;
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-10-17?20:47??PrintScreen\
?????目錄???????????0??2014-10-17?20:47??PrintScreen\PrintScreen\
?????文件????19524608??2014-10-17?20:46??PrintScreen\PrintScreen.ncb
?????文件????????1672??2014-10-15?14:47??PrintScreen\PrintScreen.sln
?????文件???????23552??2014-10-17?20:46??PrintScreen\PrintScreen.suo
?????目錄???????????0??2014-10-17?20:47??PrintScreen\PrintScreenCab\
?????目錄???????????0??2014-10-17?20:47??PrintScreen\PrintScreenCab\Debug\
?????文件????????4737??2014-09-30?16:09??PrintScreen\PrintScreenCab\PrintScreenCab.vdproj
?????目錄???????????0??2014-10-17?20:47??PrintScreen\PrintScreenCab\Release\
?????文件???????19213??2014-10-11?12:02??PrintScreen\PrintScreenCab\Release\PrintScreenCab.CAB
?????目錄???????????0??2014-10-17?20:47??PrintScreen\PrintScreenSetup\
?????目錄???????????0??2014-10-17?20:47??PrintScreen\PrintScreenSetup\Debug\
?????文件???????28266??2014-10-15?14:47??PrintScreen\PrintScreenSetup\PrintScreenSetup.vdproj
?????目錄???????????0??2014-10-17?20:47??PrintScreen\PrintScreenSetup\Release\
?????文件??????105472??2014-10-15?14:47??PrintScreen\PrintScreenSetup\Release\PrintScreenSetup.msi
?????文件??????422912??2014-10-15?14:47??PrintScreen\PrintScreenSetup\Release\setup.exe
?????文件????????2520??2014-09-30?16:18??PrintScreen\PrintScreen\ba
?????文件?????????394??2014-09-30?16:17??PrintScreen\PrintScreen\ba
?????文件???????36280??2014-09-30?17:32??PrintScreen\PrintScreen\PrintScreen.aps
?????文件????????1512??2014-09-30?15:40??PrintScreen\PrintScreen\PrintScreen.cpp
?????文件?????????201??2014-09-30?15:40??PrintScreen\PrintScreen\PrintScreen.def
?????文件?????????465??2014-09-30?15:40??PrintScreen\PrintScreen\PrintScreen.h
?????文件?????????836??2014-10-08?09:31??PrintScreen\PrintScreen\PrintScreen.htm
?????文件????????1590??2014-09-30?15:57??PrintScreen\PrintScreen\PrintScreen.idl
?????文件????????3610??2014-09-30?17:32??PrintScreen\PrintScreen\PrintScreen.rc
?????文件????????6316??2014-09-30?16:22??PrintScreen\PrintScreen\PrintScreen.vcproj
?????文件????????1391??2014-10-17?20:46??PrintScreen\PrintScreen\PrintScreen.vcproj.SNZIGOD_XP.Administrator.user
?????文件?????????238??2005-12-13?20:33??PrintScreen\PrintScreen\PrintScreenCtrl.bmp
?????文件???????11840??2014-10-11?12:02??PrintScreen\PrintScreen\PrintScreenCtrl.cpp
?????文件????????1836??2014-09-30?15:55??PrintScreen\PrintScreen\PrintScreenCtrl.h
?????文件????????8895??2014-10-11?12:02??PrintScreen\PrintScreen\PrintScreenidl.h
............此處省略26個(gè)文件信息
評(píng)論
共有 條評(píng)論