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

1 month ago
#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 <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>
*/
extern "C" __declspec(dllimport)
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
*/
extern "C" __declspec(dllimport)
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();
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ŀǰֻ<EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD>ȡ<EFBFBD><EFBFBD>ʱĿ¼
*
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> true<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> false
*/
__declspec(dllexport)
bool SetApplicationStartupDirectory(const CString& dirPath);