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.

68 lines
1.7 KiB
C

1 month ago
#pragma once
class AFX_EXT_CLASS CPathUtility
{
public:
CPathUtility(void);
~CPathUtility(void);
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ǰִ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"D:\\WorkPath\\Utility"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>'\\'<EFBFBD>ַ<EFBFBD>
*/
static CString GetModulePath();
/** @brief <09><>ȡ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>׺<EFBFBD><D7BA> */
static CString GetFileExt(const CString& strFileName);
/** @brief <20><>ȡ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׺)*/
static CString GetFileName(const CString& strFileName);
/** @brief <20><>ȡ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>Ŀ¼ */
static CString GetDir(const CString& strFileName);
/**
* @brief <EFBFBD>ж<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] strPath ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
*/
static BOOL IsExistPath(const CString& strPath);
/** @brief <09>ж<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ч */
static BOOL IsValidName(const CString& strName);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼
*/
static BOOL CreateDir(const CString& strDir);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼
* @param [in] strDir Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ·<EFBFBD><EFBFBD>
* [in] strName <EFBFBD>µ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ·<EFBFBD><EFBFBD>
*/
static BOOL RenameDir(const CString& strDir,const CString& strName);
/**
* @brief ɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
* @param [in] strDir Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>'\\'<EFBFBD>ַ<EFBFBD>
*/
static BOOL DeleteDir(const CString& strDir);
/** @brief <09><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>Ŀ¼<C4BF>ĺ<EFBFBD><C4BA><EFBFBD> */
static CString GetWorkDir();
/** @brief <09><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>Ŀ¼<C4BF>ĺ<EFBFBD><C4BA><EFBFBD> */
static void SetWorkDir(const CString& strDir);
/** @brief <09><><EFBFBD><EFBFBD>WindowsĿ¼ */
static CString GetWindowsDir();
/** @brief <09><><EFBFBD><EFBFBD>SystemĿ¼ */
static CString GetSystemDir();
/**
* @brief ѡ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>к<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'\\'<EFBFBD>ַ<EFBFBD>
* @param [in][out]strSelectedFolder<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼѡ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
[in] strTitle <EFBFBD>ļ<EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD>
[in] ѡ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>жԻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
static BOOL GetFolder(CString& strSelectedFolder,const CString& strTitle, HWND hParentWnd);
};