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

📄 remoteapi.h

📁 通过同步软件来获取移动智能设备屏幕画面
💻 H
字号:
#pragma once

#include <rapi.h>

class CRemoteAPI
{
	
typedef HRESULT (__stdcall *CERAPIINITEX)(RAPIINIT*);
typedef HRESULT (__stdcall *CERAPUNINIT)(void);
typedef HRESULT (__stdcall *CERAPIINVOKE)(LPCWSTR, LPCWSTR,DWORD,BYTE *, DWORD *,BYTE **, IRAPIStream **,DWORD);

typedef HANDLE	(__stdcall *CEFINDFIRSTFILE)(LPCWSTR, LPCE_FIND_DATA);
typedef BOOL	(__stdcall *CEFINDNEXTFILE)	(HANDLE, LPCE_FIND_DATA);
typedef BOOL	(__stdcall *CEFINDALLFILES) (LPCWSTR, DWORD, LPDWORD, LPLPCE_FIND_DATA);

typedef BOOL	(__stdcall *CEFINDCLOSE)(HANDLE);
typedef BOOL	(__stdcall *CEDELETEFILE)(LPCWSTR);
typedef BOOL	(__stdcall *CECREATEDIRECTORY)(LPCWSTR, LPSECURITY_ATTRIBUTES);
typedef BOOL	(__stdcall *CEREMOVEDIRECTORY)(LPCWSTR);
typedef HANDLE	(__stdcall *CECREATEFILE)(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
typedef BOOL	(__stdcall *CEWRITEFILE)(HANDLE, LPCVOID, DWORD, LPDWORD, LPOVERLAPPED);
typedef BOOL	(__stdcall *CEREADFILE)(HANDLE, LPCVOID, DWORD, LPDWORD, LPOVERLAPPED);
typedef BOOL	(__stdcall *CECLOSEHANDLE)(HANDLE);
typedef DWORD	(__stdcall *CEGETFILESIZE)(HANDLE, LPDWORD);
typedef DWORD	(__stdcall *CESETFILEPOINTER)(HANDLE, LONG, PLONG, DWORD);
typedef BOOL	(__stdcall *CESETFILETIME)(HANDLE, const FILETIME*, const FILETIME*, const FILETIME*);

typedef BOOL	(__stdcall *CEFINDCLOSE)(HANDLE);
typedef DWORD	(__stdcall *CEGETLASTERROR)(void);
typedef HRESULT	(__stdcall *CERAPIGETERROR)(void);
typedef BOOL	(__stdcall *CEDELETEFILE)(LPCWSTR);
typedef BOOL	(__stdcall *CEGETVERSIONEX)(CEOSVERSIONINFO*);

typedef BOOL	(__stdcall *CEMOVEFILE)(LPCWSTR,LPCWSTR);
typedef BOOL	(__stdcall *CECOPYFILE)(LPCWSTR,LPCWSTR,BOOL);

typedef BOOL	(__stdcall *CEGETDISKFREESPACEEX)(LPCWSTR, ULARGE_INTEGER *, ULARGE_INTEGER *, ULARGE_INTEGER *);

typedef HRESULT	(_stdcall *CERAPIFREEBUFFER)(LPVOID);

public:
	CRemoteAPI(void);
	~CRemoteAPI(void);

	HRESULT InitEx(RAPIINIT* pRapiInit);
	HRESULT	Uninit();

	BOOL	ReloadDLL		();

	HRESULT Invoke			(LPCWSTR pszDLL, LPCWSTR pszFUnction, DWORD cbInput, BYTE *pInput, DWORD *pcbOutput, BYTE **ppOutput, IRAPIStream **ppIRAPIStream, DWORD dwReserved);
	HANDLE	CreateFile		(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
	BOOL	WriteFile		(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped);
	BOOL	ReadFile		(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped);
	BOOL	CloseHandle		(HANDLE hHandle);
	DWORD	GetFileSize		(HANDLE hFile, LPDWORD lpFileSizeHigh);
	DWORD	SetFilePointer	(HANDLE hFile, LONG lDistance, PLONG pDistanceHigh, DWORD dwMoveMethod);
	BOOL	SetFileTime		(HANDLE hFile, const FILETIME *lpCreationTime, const FILETIME *lpLastAccessTime, const FILETIME *lpLastWriteTime);

	HANDLE	FindFirstFile	(LPCWSTR lpFileName, LPCE_FIND_DATA lpFindFileData);
	BOOL	FindNextFile	(HANDLE hFind, LPCE_FIND_DATA lpFindFileData);
	BOOL	FindAllFiles	(LPCWSTR pszPath, DWORD dwFlags, LPDWORD lpdwFoundCount, LPLPCE_FIND_DATA ppFindDataArray);

	BOOL	CreateDirectory	(LPCWSTR pszDirName);
	BOOL	RemoveDirectory	(LPCWSTR pszDirName);

	BOOL	FindClose	(HANDLE hFindFile);
	DWORD	GetLastError();
	HRESULT	GetError	();
	BOOL	GetVersionEx(CEOSVERSIONINFO *pVersionInfo);

	BOOL	DeleteFile	(LPCWSTR lpFileName);
	BOOL	MoveFile	(LPCWSTR pszOldFileName, LPCWSTR pszNewFileName);
	BOOL	CopyFile	(LPCWSTR pszSrcFileName, LPCWSTR pszTgtFileName, BOOL bFailIfExists);
	
	BOOL	GetDiskFreeSpaceEx	(LPCTSTR lpDirectoryName, 
								 PULARGE_INTEGER lpFreeBytesAvailable, 
								 PULARGE_INTEGER lpTotalNumberOfBytes,
								 PULARGE_INTEGER lpTotalNumberOfFreeBytes);

	HRESULT	FreeBuffer	(LPVOID pVoid);

protected:
	HMODULE					m_hDll;

	CEFINDFIRSTFILE			m_pfnFindFirstFile;
	CEFINDNEXTFILE			m_pfnFindNextFile;
	CEFINDALLFILES			m_pfnFindAllFiles;
	CEFINDCLOSE				m_pfnFindClose;
	CEREMOVEDIRECTORY		m_pfnRemoveDirectory;
	CECREATEDIRECTORY		m_pfnCreateDirectory;
	CEMOVEFILE				m_pfnMoveFile;
	CECOPYFILE				m_pfnCopyFile;
	CEWRITEFILE				m_pfnWriteFile;
	CEREADFILE				m_pfnReadFile;
	CEGETFILESIZE			m_pfnGetFileSize;
	CEGETDISKFREESPACEEX	m_pfnGetDiskFreeSpaceEx;
	CERAPIFREEBUFFER		m_pfnFreeBuffer;
	CESETFILEPOINTER		m_pfnSetFilePointer;
	CESETFILETIME			m_pfnSetFileTime;
};

⌨️ 快捷键说明

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