You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

170 lines
2.8 KiB
C

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#pragma once
#ifdef __cplusplus
extern "C" {
#endif
__declspec(dllexport) bool EncodeFile(LPCTSTR lpSrcFilePath, LPCTSTR lpDstFilePath);
__declspec(dllexport) bool DecodeFile(LPCTSTR lpSrcFilePath, LPCTSTR lpDstFilePath);
#ifdef __cplusplus
}
#endif
#pragma warning(disable : 4996)
#if defined(_DEBUG)
#ifndef LIB_PATH
#define LIB_PATH ""
#endif
#pragma comment(lib, LIB_PATH "FormatConversionD.lib")
#pragma message("Automatically linking with FormatConversionD.lib")
#else
#ifndef LIB_PATH
#define LIB_PATH ""
#endif
#pragma comment(lib, LIB_PATH "FormatConversion.lib")
#pragma message("Automatically linking with FormatConversion.lib")
#endif
extern "C" __declspec(dllimport) int FromDFDToDFD4(char* inputFile, char* outputFile);
/**
* @brief 异或加密
*
* @param data
* @param key
*/
void XorEncrypt(LPTSTR lpData, DWORD len, LPCTSTR lpKey);
/**
* @brief 异或加密指定文件.
*
* @param lpFilePath
* @return
*/
BOOL XorEncryptFile(LPCTSTR lpFilePath);
/**
* @brief 创建临时加密文件.
*
* @param lpSrcFilePath 指定的源文件
* @param lpDstFilePath 指定的临时文件
* @return
*/
BOOL XorEncryptFile(LPCTSTR lpSrcFilePath, LPCTSTR lpDstFilePath);
/**
* @brief 文件映射内存拷贝
*
* @param lpSrcFilePath
* @param lpDstFilePath
* @return
*/
BOOL CopyLargeFileByMapping(LPCTSTR lpSrcFilePath, LPCTSTR lpDstFilePath);
/**
* @brief 是否是二进制文件.
*
* @param file
* @return
*/
bool IsBinaryFile(CString filePath);
/**
* @brief 判断是否是UNICODE文件.
*
* @param filename
* @return
*/
bool IsUnicodeTextFile(const char *filename);
/**
* @brief 获取文件首行.
*
* @param filePath
* @return
*/
CString GetFirstLineOfFile(const CString& filePath);
/**
* @brief 预处理文件.
*
* @param filePath
* @return 临时文件
*/
extern "C" __declspec(dllimport)
CString PreprocessFile(CString& filePath);
/**
* @brief 清除文件夹内的所有内容.
*
* @param folderPath
*/
void ClearFolder(const CString& folderPath);
/**
* @brief 清空临时文件夹.
*
*/
void ClearTempFolder();
/**
* @brief 后处理文件.
*
* @param filePath
* @return
*/
extern "C" __declspec(dllimport)
void PostProcessFile(CString& filePath);
/**
* @brief 检测并创建目录.
*
* @param path
* @return
*/
BOOL CheckAndCreateDirectory(const CString& path);
/**
* @brief 产生GUID字符串.
*
* @param guidStr
*/
void generateGUID(char *guidStr);
/**
* @brief 存临时文件目录产生临时文件.
*
* @return 临时文件路径
*/
CString generateTempFile(CString& filePath);
/**
* @brief 获取可执行文件所在目录.
*
* @return 当前应用目录
*/
CString GetExecutableDirectory();
/**
* @brief 获取可执行文件所在目录.
*
* @return 当前应用目录
*/
CString GetTempDirectory();
/**
* @brief 设置程序启动目录,目前只用于获取临时目录
*
* @return 成功返回 true路径不合法或者没有权限返回 false
*/
__declspec(dllexport)
bool SetApplicationStartupDirectory(const CString& dirPath);