|
|
|
|
|
#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
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param data
|
|
|
|
|
|
* @param key
|
|
|
|
|
|
*/
|
|
|
|
|
|
void XorEncrypt(LPTSTR lpData, DWORD len, LPCTSTR lpKey);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>.
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param lpFilePath
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
BOOL XorEncryptFile(LPCTSTR lpFilePath);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>.
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param lpSrcFilePath ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>ļ<EFBFBD>
|
|
|
|
|
|
* @param lpDstFilePath ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ļ<EFBFBD>
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
BOOL XorEncryptFile(LPCTSTR lpSrcFilePath, LPCTSTR lpDstFilePath);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief <EFBFBD>ļ<EFBFBD>ӳ<EFBFBD><EFBFBD><EFBFBD>ڴ濽<EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param lpSrcFilePath
|
|
|
|
|
|
* @param lpDstFilePath
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
BOOL CopyLargeFileByMapping(LPCTSTR lpSrcFilePath, LPCTSTR lpDstFilePath);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief <EFBFBD>Ƿ<EFBFBD><EFBFBD>Ƕ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>.
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param file
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
bool IsBinaryFile(CString filePath);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief <EFBFBD>ж<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>UNICODE<EFBFBD>ļ<EFBFBD>.
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param filename
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
bool IsUnicodeTextFile(const char *filename);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param filePath
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
CString GetFirstLineOfFile(const CString& filePath);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>.
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param filePath
|
|
|
|
|
|
* @return <EFBFBD><EFBFBD>ʱ<EFBFBD>ļ<EFBFBD>
|
|
|
|
|
|
*/
|
|
|
|
|
|
CString PreprocessFile(CString& filePath);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param folderPath
|
|
|
|
|
|
*/
|
|
|
|
|
|
void ClearFolder(const CString& folderPath);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>.
|
|
|
|
|
|
*
|
|
|
|
|
|
*/
|
|
|
|
|
|
void ClearTempFolder();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>.
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param filePath
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
void PostProcessFile(CString& filePath);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD>Ⲣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼.
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param path
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
BOOL CheckAndCreateDirectory(const CString& path);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>GUID<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>.
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param guidStr
|
|
|
|
|
|
*/
|
|
|
|
|
|
void generateGUID(char *guidStr);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ļ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ļ<EFBFBD>.
|
|
|
|
|
|
*
|
|
|
|
|
|
* @return <EFBFBD><EFBFBD>ʱ<EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD>
|
|
|
|
|
|
*/
|
|
|
|
|
|
CString generateTempFile(CString& filePath);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼.
|
|
|
|
|
|
*
|
|
|
|
|
|
* @return <EFBFBD><EFBFBD>ǰӦ<EFBFBD><EFBFBD>Ŀ¼
|
|
|
|
|
|
*/
|
|
|
|
|
|
CString GetExecutableDirectory();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼.
|
|
|
|
|
|
*
|
|
|
|
|
|
* @return <EFBFBD><EFBFBD>ǰӦ<EFBFBD><EFBFBD>Ŀ¼
|
|
|
|
|
|
*/
|
|
|
|
|
|
CString GetTempDirectory();
|
|
|
|
|
|
|
|
|
|
|
|
|