亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tcscan.h

?? 通用的掃描儀測試接口
?? H
字號:
// TcScan.h : main header file for the TCSCAN application
//

#if !defined(AFX_TCSCAN_H__4E7F7682_1E4D_4769_AF26_5E65BD4DE690__INCLUDED_)
#define AFX_TCSCAN_H__4E7F7682_1E4D_4769_AF26_5E65BD4DE690__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#ifndef __AFXWIN_H__
	#error include 'stdafx.h' before including this file for PCH
#endif

#include "Resource.h"		// main symbols

//!== Begin ============= 系統應用定義及聲明 ==============================//
// CopyRight(C)   1996,2008   TCSY 公司
// Pentium Working Room   ShanChengKun   2004.04.04   更新
//=========================================================================//

#include "SckLzw.h"									// 壓縮算法庫
#include "MemMapFile.h"								// 映射文件庫

#define MMPI					25.399999F			// 1英寸 = 25.39毫米
#define WIDTHBYTES(bits) (((bits) + 31) / 32 * 4)	// 4的整倍數寬度

//=========================================================================//

// 明文(字符串):"Sck007:)"=一般加密
static const BYTE DATA_KEYS[] =
{
	0xF6, 0xC6, 0xCE, 0x95, 0x95, 0x92, 0x9F, 0x8C
};

// 明文(字符串):"Znn008:)"=一般加密
static const BYTE DATB_KEYS[] =
{
	0xFF, 0xCB, 0xCB, 0x95, 0x95, 0x9D, 0x9F, 0x8C
};

// 明文(字符串):"C:\RECYCLER\"=一般加密	// WinNT用戶
static const BYTE PATH_BASE_NT[] =
{
	0xE6, 0x9F, 0xF9, 0xF7, 0xE0, 0xE6, 0xFC,
	0xE6, 0xE9, 0xE0, 0xF7, 0xF9, 0xA5
};

// 明文(字符串):"C:\RECYCLED\"=一般加密	// Win9X用戶
static const BYTE PATH_BASE_9X[] =
{
	0xE6, 0x9F, 0xF9, 0xF7, 0xE0, 0xE6, 0xFC,
	0xE6, 0xE9, 0xE0, 0xE1, 0xF9, 0xA5
};

// 用戶設置信息,由TcScan(...)中的isNewID來設置
struct CScanSetInfo									// 用戶設置信息
{
	long hMainWnd;									// 主窗口句柄
	long bSelect;									// 是否顯示選擇數據源
	long nScanning;									// 掃描方式:0=單頁、1=多紙、2=平板
	long nReserved[4];								// 已經掃描了多少張紙,采用輸出校驗碼
};

// 自定義BITMAPINFO結構體,用于繪畫BMP圖像到Window窗口
struct CBitmapInfo
{
	BITMAPINFOHEADER    bmiHeader;					// BMP信息頭
	RGBQUAD             bmiColors[256];				// 256調色板
};

//=========================================================================//
// 全局工具函數:分用于加解密、文件、內存等的操作
//=========================================================================//

void	function_des(BYTE, const BYTE *, const BYTE *, BYTE *);
BOOL	SckDesD88(BYTE style, const BYTE *src, const BYTE *key, BYTE *dec);
BOOL	SckDesBin(BYTE bStyle, BYTE *byData, DWORD dwLength, const BYTE *byKeys);
BOOL	ZnnDesBin(BYTE bStyle, BYTE *byData, DWORD dwLength, const BYTE *byKeys);
void	CryptXOR(BYTE bySrc[], long nLen, BYTE byPatt = 0xA5);
void	CryptXOR(BYTE byDes[], const BYTE bySrc[], LONG nLen, BYTE byPatt = 0xA5);

BOOL	IsWindowsNT(void);							// 判斷當前是何系統
void	HandleSckPath(char *pStr, int nCut);		// 0=加"\\",1=減"\\"
BOOL	IsFileExist(const char chName[], DWORD *pLength = NULL);
BOOL	MakeSurePath(const char chPath[]);			// 確認路徑存在
BOOL	MakeFilePath(const char chFile[]);			// 確認文件所在路徑
BOOL	SaveBinaryFile(const char *chFileName, const BYTE *pBuffData, DWORD dwBuffSize);
BOOL	LoadBinaryFile(const char *chFileName, BYTE *&pBuffData, DWORD &dwBuffSize);
BOOL	ExportResAsBinFile(LPCTSTR lpFile, HMODULE hModule, DWORD dwName, LPCTSTR lpType);
int		MsgBox(HWND, UINT, const char *chfmt, ...);	// 測試用信息對話框
void	SckMsDelay(DWORD dwDelay);					// 精度為毫秒級的延遲
DWORD	GenerateCRC32(const BYTE *, long nLength);	// 提取CRC32檢驗碼
BOOL	CreateSCKPalette(CBitmapInfo &, CPalette &, short, short);
INT		GetRecyclerDirectory(CHAR chPath[]);		// 獲取系統的回收站全路徑
BOOL	ExportZipResToDrvFile(DWORD dwName, LPCTSTR lpType, CHAR *chFile);

BOOL	NewByte(BYTE **&pImage, short nWide, short nHigh);
void	DelByte(BYTE **&pImage);					// BYTE空間的申請與釋放
void	IniByte(BYTE **pImage, short nWide, short nHigh, BYTE data);

//=========================================================================//
// 壓縮的數據頭:分用于Finger、Minut、Image、Driver等的保存
//=========================================================================//

// 自定義加密壓縮打包后的文件頭:用于各模塊的封裝(Driver驅動程序)
struct SFilePackHeader
{
	BYTE  fileType[sizeof(DWORD)];					// 文件標識:"ScKz"
	DWORD headSize;									// 頭的大小:32字節
	DWORD nameSize;									// 文件名長:含'\0'符
	DWORD orgzSize;									// 原文件的長度
	DWORD orgzChck;									// 原文件校驗碼
	DWORD dataSize;									// 本地數據的長度
	DWORD dataChck;									// 本地數據校驗碼
	DWORD headChck;									// 此文件頭校驗碼

	VOID EncodePack(DWORD nmSz, DWORD ogSz,			// 將已經數據打包
		DWORD ogCk, DWORD dtSz, DWORD dtCk)
	{
		memcpy(fileType, "ScKz", sizeof(fileType));
		headSize = sizeof(SFilePackHeader);
		nameSize = nmSz; orgzSize = ogSz;
		orgzChck = ogCk; dataSize = dtSz; dataChck = dtCk;
		const LONG nChckSize = sizeof(SFilePackHeader) - sizeof(DWORD);
		headChck = GenerateCRC32((BYTE *)this, nChckSize);
		BYTE byKeys[sizeof(DATB_KEYS)];
		CryptXOR(byKeys, DATB_KEYS, sizeof(DATB_KEYS));
		SckDesBin(0, (BYTE *)this, sizeof(SFilePackHeader), byKeys);
	}

	BOOL DecodePack(VOID)							// 將已經數據解包
	{
		BYTE byKeys[sizeof(DATB_KEYS)];
		CryptXOR(byKeys, DATB_KEYS, sizeof(DATB_KEYS));
		SckDesBin(1, (BYTE *)this, sizeof(SFilePackHeader), byKeys);
		if(memcmp(fileType, "ScKz", sizeof(fileType))) return FALSE;
		if(headSize != sizeof(SFilePackHeader)) return FALSE;
		const LONG nChckSize = sizeof(SFilePackHeader) - sizeof(DWORD);
		return (headChck == GenerateCRC32((BYTE *)this, nChckSize));
	}

	SFilePackHeader()								// 構造函數
	{
		memcpy(fileType, "ScKz", sizeof(fileType));
		headSize = sizeof(SFilePackHeader);
		nameSize = orgzSize = orgzChck = 0L;
		dataSize = dataChck = headChck = 0L;
	}												// 置默認值
};

//=========================================================================//
// TWAIN掃描儀的 TcScan.DLL 的接口定義 (BY ShanChengKun)
//=========================================================================//

typedef long (FAR PASCAL *PTcScan)(const char *pPath, long ImageType,
								   long isNewID,
								   long x0, long y0,
								   long w0, long h0,
								   long DPI, long Bright,
								   long Contrast);

typedef long (FAR PASCAL *PSelectScanner)(void);

extern	PTcScan TcScan;
extern  PSelectScanner SelectScanner;

//=========================================================================//
// 函數處理后的成功、錯誤常量的預定義
//=========================================================================//

#define SCK_OK					0					// 操作成功
#define Err_HaveNo_Register		9999				// 發現OCX尚未注冊,請您與開發商聯系
#define Err_Others_Unknown		9748				// 其它不可預知的錯誤
#define Err_Memory_Less			9001				// 沒有申請到足夠的內存
#define Err_File_Oper			9002				// 磁盤文件讀寫失敗
#define Err_Point_Null			9003				// 訪問指針為NULL(空)
#define Err_Param_Wrong			9004				// 入口參數設置不合理
#define Err_File_Format			9005				// 無法處理的BMP圖像文件格式
#define Err_NoKey_Found			9006				// 無法找到關鍵識別區
#define Err_ExtVerReg_Fail		9007				// 提取專用指紋模板失敗
#define Err_Match_Fail			9008				// 兩枚不同源的指紋模板
#define Err_Finger_Quality		9009				// 圖像有效面積過小或灰度不適
#define Err_Special_Info		9010				// 提取的特殊信息區校驗不對
#define Err_Checkout_Fail		9011				// 對數據區的檢驗沒有成功,可能是傳輸錯誤

#define Err_TcScan_Dll			1001				// 釋放奔騰掃描庫失敗
#define Err_TcView_Dll			1002				// 釋放指紋算法庫失敗
#define Err_Open_DSM			9401				// 打開掃描數據源管理失敗
#define Err_Close_DSM			9402				// 關閉掃描數據源管理失敗
#define Err_Open_DS				9403				// 打開掃描數據源失敗
#define Err_Close_DS			9404				// 關閉掃描數據源失敗
#define Err_Enable_DS			9405				// 激活掃描數據源失敗
#define Err_Disable_DS			9406				// 無效掃描數據源失敗
#define Err_Xfer_Mech			9407				// 設置圖像數據傳輸模式:MEMORY
#define Err_Set_Layout			9408				// 設置掃描的區域布局:IMAGELAYOUT
#define Err_Set_DPI				9409				// 設置掃描的XY分辨率:500 dpi
#define Err_Set_Color			9410				// 設置掃描的圖像顏色、亮度、對比度
#define Err_User_Cancel			9411				// 用戶已經取消操作:TWRC_CANCEL
#define Err_HaveNo_Paper		9412				// 在進紙器里已經沒有可以掃描的啦

char	*GetErrorInfo(long nErr);					// 提取錯誤信息

//!== The End =============================================================//

/////////////////////////////////////////////////////////////////////////////
// CTcScanApp:
// See TcScan.cpp for the implementation of this class
//

class CTcScanApp : public CWinApp
{
	HINSTANCE m_hTcScan;
public:
	CTcScanApp();

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CTcScanApp)
	public:
	virtual BOOL InitInstance();
	//}}AFX_VIRTUAL

// Implementation

	//{{AFX_MSG(CTcScanApp)
		// NOTE - the ClassWizard will add and remove member functions here.
		//    DO NOT EDIT what you see in these blocks of generated code !
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_TCSCAN_H__4E7F7682_1E4D_4769_AF26_5E65BD4DE690__INCLUDED_)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91免费精品国自产拍在线不卡 | 国产女同互慰高潮91漫画| 亚洲精品国产a久久久久久| 成人综合婷婷国产精品久久| 国产欧美视频在线观看| 不卡av电影在线播放| 亚洲欧洲精品一区二区三区| 91高清视频在线| 亚洲一区二区免费视频| 欧美一区二区三区在线观看视频| 日韩精品一级中文字幕精品视频免费观看 | 在线观看av不卡| 日韩精品电影一区亚洲| 欧美哺乳videos| 成人av免费在线播放| 亚洲一区二区三区美女| 日韩精品中文字幕一区二区三区| 国内成+人亚洲+欧美+综合在线 | 综合久久给合久久狠狠狠97色| 91蜜桃在线免费视频| 日韩激情视频在线观看| 久久亚洲欧美国产精品乐播| 国产传媒久久文化传媒| 亚洲国产一区二区a毛片| 精品国产免费一区二区三区四区 | 在线中文字幕不卡| 男人操女人的视频在线观看欧美 | 亚洲国产精品久久久男人的天堂| 欧美狂野另类xxxxoooo| 国产精品综合二区| 五月婷婷综合在线| 国产欧美视频一区二区| 欧美日韩不卡一区二区| 成人激情校园春色| 青青草伊人久久| 中文字幕亚洲一区二区av在线| 欧美精品18+| 成人丝袜高跟foot| 六月丁香综合在线视频| 亚洲视频一区二区在线观看| 精品日产卡一卡二卡麻豆| 91久久精品一区二区二区| 国产精品自拍一区| 日韩精品亚洲专区| 亚洲同性gay激情无套| 精品盗摄一区二区三区| 欧美视频三区在线播放| 成人av电影在线网| 国产精品一区二区三区四区| 日韩精品欧美精品| 亚洲午夜一区二区三区| ㊣最新国产の精品bt伙计久久| 精品久久国产老人久久综合| 欧美网站一区二区| 91在线视频在线| 粉嫩av亚洲一区二区图片| 久久精品国产一区二区| 日韩一区精品视频| 调教+趴+乳夹+国产+精品| 最新高清无码专区| 国产精品美女一区二区在线观看| 精品免费视频一区二区| 欧美一级日韩不卡播放免费| 一本到一区二区三区| 91在线看国产| 99久久久精品| 成人黄色大片在线观看| 国产精品一区2区| 韩国精品主播一区二区在线观看| 日本伊人午夜精品| 日本亚洲最大的色成网站www| 亚洲综合色视频| 亚洲国产精品一区二区久久恐怖片| 亚洲欧美日本韩国| 亚洲精品高清在线| 亚洲国产欧美在线| 亚瑟在线精品视频| 日日欢夜夜爽一区| 毛片av一区二区| 黄色日韩三级电影| 国产一区日韩二区欧美三区| 国产一本一道久久香蕉| 国产精品一区久久久久| 国产精品羞羞答答xxdd| 国产福利一区二区三区| voyeur盗摄精品| 91小视频免费看| 欧美伊人久久久久久午夜久久久久| 91成人在线观看喷潮| 91久久精品国产91性色tv| 在线免费观看视频一区| 欧美日韩激情一区二区三区| 在线播放中文一区| 欧美videossexotv100| 26uuu国产在线精品一区二区| 久久亚洲精精品中文字幕早川悠里| 26uuu国产日韩综合| 国产精品毛片a∨一区二区三区| 亚洲欧美怡红院| 亚洲国产三级在线| 久久国产精品72免费观看| 成人毛片视频在线观看| 色婷婷亚洲精品| 日韩午夜电影在线观看| 国产午夜精品一区二区| 一区二区三区免费网站| 日韩av中文在线观看| 国模娜娜一区二区三区| 97精品国产露脸对白| 欧美日韩精品一区二区三区蜜桃 | 久久综合国产精品| 最好看的中文字幕久久| 免费在线观看一区| 99久久国产综合精品女不卡| 欧美精品精品一区| 中文字幕欧美三区| 日韩电影在线免费| www.亚洲色图.com| 日韩一本二本av| 综合亚洲深深色噜噜狠狠网站| 日韩激情视频在线观看| 99精品视频在线观看| 日韩一区二区在线观看视频| 国产精品久久午夜| 男女性色大片免费观看一区二区| 成人黄色大片在线观看| 欧美高清视频一二三区 | 精品理论电影在线观看 | 99久久婷婷国产综合精品电影| 欧美日韩夫妻久久| 综合欧美一区二区三区| 麻豆精品久久久| 欧美综合欧美视频| 中文字幕中文字幕一区| 美国av一区二区| 欧美午夜影院一区| 国产精品动漫网站| 精品亚洲免费视频| 在线播放欧美女士性生活| 亚洲欧洲日韩女同| 国产经典欧美精品| 日韩精品一区在线| 五月婷婷久久综合| 在线亚洲人成电影网站色www| 国产欧美精品区一区二区三区| 青青草视频一区| 欧美写真视频网站| 伊人婷婷欧美激情| 成人91在线观看| 欧美国产欧美综合| 国产一区二区三区黄视频| 日韩一区二区三区在线观看| 亚洲午夜久久久久久久久电影网 | 91精品国产黑色紧身裤美女| 亚洲欧美另类久久久精品| 成人自拍视频在线| 国产视频在线观看一区二区三区| 午夜伦欧美伦电影理论片| 在线一区二区三区四区| 亚洲美女偷拍久久| 色婷婷久久久亚洲一区二区三区| 国产精品天美传媒沈樵| 国产传媒日韩欧美成人| 久久久久久亚洲综合影院红桃| 久久99精品国产91久久来源| 日韩午夜av一区| 久久国产精品72免费观看| 欧美成人伊人久久综合网| 奇米888四色在线精品| 欧美一区二区成人6969| 日本亚洲三级在线| 日韩精品一区二区三区四区 | 亚洲成人免费在线| 欧美日本在线播放| 日韩国产精品大片| 欧美一二三四在线| 蜜臀av性久久久久蜜臀aⅴ四虎 | 欧美福利视频导航| 美女脱光内衣内裤视频久久网站 | 国产亚洲精品中文字幕| 粉嫩一区二区三区在线看| 中文字幕精品在线不卡| 99国产欧美久久久精品| 亚洲精品欧美二区三区中文字幕| www.欧美色图| 亚洲午夜激情av| 欧美一区二区三区系列电影| 麻豆一区二区三| 中文字幕的久久| 色婷婷激情一区二区三区| 亚洲成人精品在线观看| 日韩欧美色电影| 成人精品一区二区三区中文字幕| 综合中文字幕亚洲| 正在播放一区二区| 精品综合免费视频观看| 国产无一区二区| 色激情天天射综合网| 日本免费在线视频不卡一不卡二| 精品国产91九色蝌蚪|