⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rcahelper.h

📁 远程控制软件源代码
💻 H
字号:

#include "stdafx.h"


#ifndef _RCAHELPER_H_

#define _RCAHELPER_H_



//////////////////////////////////////////
//
//	发送数据帮助函数, IO 模型为 event select 
//
//	在调用函数前 SOCKET s 必须被置为异步模式,
//	并且用带有 FD_WRITE 事件通知的标志对其调用了 WSAEventSelect 函数
//
BOOL 
WINAPI RCASend_EventSelectIO(
	SOCKET	s,
	HANDLE	hEventArray[2],
	char *	buf,
	int		len
);



#define RCARECV_WAIT_TIMEOUT		1
#define RCARECV_WAIT_MSGRETURN		2
#define RCARECV_SOCKET_ERROR		3
#define RCARECV_SUCCEEDED			4
#define	RCARECV_FAILED				5
#define RCARECV_REMOTECOSED			6
#define	RCARECV_WAIT_FAILED			7
////////////////////////////////////////
//
//	接收数据帮助函数, IO 模型为 Async Event
//	
//	在调用函数前 SOCKET s 必须被置为异步模式, 
//	并且用带有 FD_READ 事件通知的标志对其调用了 WSAEventSelect 函数
//
extern "C"
BOOL 
WINAPI RCARecv_EventSelectIO( 
		SOCKET	s,			
		HANDLE	hEventArray[2],
		char *	buf,			// 接收缓冲区 . 若成功
		int		len				// 
);



///////////////////////////////////////////
//
//	获得整个屏幕的象素信息
//	
//	参数: 
//
//	pbmi[in,out] -- BITMAPINFO 结构指针, 函数成功调用后会填充这个结构,这个结构反映了象素信息
//
//	x, y, w, h;  矩形的左上角座标, 以及宽高. 如果这些参数不合法,将被修整为合法参数
//
//	pBits[in,out]	-- void 指针, 函数调用成功后,pBits 将被象素值填充. 如果 pBits 为NULL,
//					函数将修改 dwBufferSize 参数, 指明需要多少缓冲存放象素值
//
//  dwBufferSize -- [in, out] 指明 pBits 的大小. 如果函数成功调用后, dwBufferSize 将会被修改, 
//					指明实际拷贝的象素字节数
// 返回值:
//		 BOOL 类型, 函数调用成功后, 将返回 TRUE; 失败,将返回 FALSE;
// 

extern "C"
HBITMAP 
WINAPI GetDCPixel_BMP (
	HDC			hdc,
	int 		x,
	int 		y,
	int 		w,
	int 		h,
	int			zw,			// 缩放控制, 0 为不缩放
	int			zh,			// 缩放控制, 0 为不缩放
	WORD		wBitCount,
	VOID **		pBits,
	BITMAPINFOHEADER	* pbmih,		// 当色深为 8 时, 包含颜色表
	DWORD *		pdwBitmapInfoSize
);


////////////////////////////////////////////////
////
//
//	从一个 JPEG 格式的像素缓冲区解码,
//	解码后的像素格式为 WINDOWS DIB 格式
//	
//  存放 WINDOWS DIB 格式的像素缓冲区由此函数分配,
//	释放交由调用者. 必须用  delete[] 释放
//
extern "C"
BOOL 
WINAPI 
DecodeFromJPEGBuffer(
	BYTE *	lpJpgBuffer,
	DWORD 	dwJpgBufferSize,
	BYTE**	lppRgbBuffer,
	DWORD*	lpdwWidth,
	DWORD*	lpdwHeight,
	DWORD*	lpdwNumberOfChannels
);

////////////////////////////////////////////////
//
//	从一个 WINDOWS DIB 格式的像素缓冲区编码到一个 JPEG 格式的像素缓冲区
//
//	存放 JPEG 格式的像素缓冲区由此函数分配
//	释放交由调用者, 必须用  delete[] 释放
extern "C"
BOOL 
WINAPI 
EncodeToJPEGBuffer(
	 BYTE* lpRgbBuffer,
	 DWORD dwWidth,
	 DWORD dwHeight,
	 BYTE** lppJpgBuffer,
	 DWORD* lpdwJpgBufferSize,
	 int	iQuality	// JPEG 图象质量
);




/////////////////////////////////////////////////////
//
//	初始化一个应答头, dwTotalBytes 被初始化为 sizeof(RCARESPONSEHEADER)
//
extern "C"
VOID
WINAPI InitResponseHead(
	PRCARESPONSEHEADER	prresh,
	DWORD				dwStatusCode,
	DWORD				dwSize
	);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -