📄 file2eth.h
字号:
#include <stdio.h>
#include <stdarg.h>
#include <time.h>
#include <atlstr.h>
#include <stdarg.h>
#include <Winsock2.h>
#include "XAviPlay.h"
#include <shlobj.h>
#include <shlguid.h>
#pragma comment(lib,"Ws2_32.lib")
#ifndef __SEND__
#define __SEND__
#endif
static TCHAR g_szFolderName[MAX_PATH];
static BOOL g_bInit=FALSE;
static BOOL g_bReSend=FALSE;
void MyTrace(char* fmt, ...);
#ifdef __SEND__
int InitSend(/*CComPtr<IHTMLElement> spCurrMsgElement*/);
void output_thread( void );
BOOL sendfile(CSHProgressWnd* pDlg,char* lpszFileName,int nID);
int SendData(char* buff,int len);
void EndSend();
#endif
DWORD checksum(BYTE *buffer, int size);
#define DATA_LEN 1024
#define FILE_HEADER_FLAG 0x0001
#define FILE_BODY_FLAG 0x0002
#define FILE_TAILER_FLAG 0x0003
#define MESSAGE_FLAG 0x0004
#define FILE_FOLDER_FLAG 0x0005
#define FILE_INIT_FLAG 0x0006
#define FILE_END_FLAG 0x0007
#define CLIPBOARD_FLAG 0x0008
struct FILE_HEADER{
DWORD dwFileHash;
DWORD dwFileLen;
char szFileName[MAX_PATH];
};
struct FILE_TAILER{
DWORD dwFileHash;
DWORD dwFileLen;
DWORD dwEndFlag;
};
struct FILE_BODY{
DWORD dwFileHash;
DWORD dwFilePos;
DWORD dwBlockSize;
BYTE byData[DATA_LEN-24];
};
struct FILE_FOLDER{
DWORD dwIP;
DWORD dwFilePathLen;
TCHAR szFilePath[MAX_PATH+1];
};
struct FILE_INFO{
DWORD dwIP;
TCHAR szComputerName[256];
TCHAR szDstFilePath[MAX_PATH+1];
};
struct CLIPBOARD_INFO{
DWORD bEnd;
DWORD uFormat;
DWORD dwDataSize;
DWORD dwBlockSize;
BYTE byData[DATA_LEN-24];
};
typedef struct tagPacketInfo
{
DWORD dwFlag; //数据块的标志
DWORD dwLen; //Union 数据的长度
DWORD ID; //会话表示
union
{
FILE_HEADER fh;
FILE_BODY fb;
FILE_TAILER ft;
FILE_FOLDER ff;
FILE_INFO fi;
CLIPBOARD_INFO ci;
char szMessage[DATA_LEN-12];
};
}PacketInfo,*pPacketInfo;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -