Global.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. ///************************************************************************/
  2. /* Copyright (C), 2010-2020, [Jeff], 保留所有权利;
  3. /* 模 块 名:;
  4. /* 描 述:;
  5. /*
  6. /* 版 本:[V];
  7. /* 作 者:[Jeff];
  8. /* 日 期:[];
  9. /*
  10. /*
  11. /* 注 意:;
  12. /*
  13. /* 修改记录:[Jeff];
  14. /* 修改日期:;
  15. /* 修改版本:;
  16. /* 修改内容:;
  17. /************************************************************************/
  18. #ifndef __HOME_GLOBAL__
  19. #define __HOME_GLOBAL__
  20. #pragma once
  21. #include <string>
  22. #include <vector>
  23. using namespace std;
  24. #ifndef _UNICODE
  25. typedef string TString;
  26. #else
  27. typedef wstring TString;
  28. #endif
  29. namespace GLOBAL
  30. {
  31. //////////////////////////////////////////////////////////////////////////
  32. // 全局变量;
  33. //////////////////////////////////////////////////////////////////////////
  34. extern TCHAR g_szIniFile[MAX_PATH];
  35. extern TCHAR g_szCurModuleFileName[MAX_PATH];
  36. extern TCHAR g_szCurModuleDir[MAX_PATH];
  37. extern TCHAR g_szCurModulePath[MAX_PATH];
  38. extern TCHAR g_szFna[_MAX_FNAME];
  39. extern TCHAR g_szExt[_MAX_EXT];
  40. extern TCHAR g_szPython27Dir[MAX_PATH];
  41. //////////////////////////////////////////////////////////////////////////
  42. // 全局函数;
  43. // 判断公历是否有效;
  44. extern BOOL IsValidDate(IN LPCTSTR lpDate);
  45. // 判断农历是否有效;
  46. extern BOOL IsValidLunanrDate(IN LPCTSTR lpDate);
  47. // 获取配置文件函数;
  48. extern int GetIniInfo(IN const TCHAR *szPath = NULL, const TCHAR *szIniName = NULL);
  49. // 获取网卡地址;
  50. INT GetMacAddress();
  51. //////////////////////////////////////////////////////////////////////////
  52. // 字符串系列全局函数;
  53. extern BOOL CompareNoCase(IN TString& str1, IN TString& str2);
  54. extern BOOL IsStringExist(IN CString& str, IN CStringArray &tagAry);
  55. extern BOOL IsStringExist(IN TString& str, IN vector<TString> &tagVt);
  56. extern BOOL IsStringExistNoCase(IN CString& str, IN CStringArray &tagAry);
  57. extern BOOL IsStringExistNoCase(IN CONST TString& str, IN CStringArray &tagAry);
  58. extern BOOL IsStringExistNoCase(IN CONST TString& str, IN vector<TString> &tagVt);
  59. extern TString lowercase(IN const TString &Str);
  60. extern TString uppercase(IN const TString &Str);
  61. extern int match(IN CONST TString &sExt, IN CONST TString &sFile);
  62. extern TString getfilename(IN CONST TString &file);
  63. extern CString getfilename(IN CONST CString &file);
  64. //////////////////////////////////////////////////////////////////////////
  65. // 进程相关函数;
  66. extern BOOL FindAppProcessID(IN CString path, OUT DWORD &dwProcessID);
  67. extern DWORD FindProcess(IN CString strProName);
  68. extern DWORD FindProcessCount(IN LPCTSTR lpExeName);
  69. extern int FindAndCloseProcess(IN CString strProName);
  70. // 文件函数;
  71. extern BOOL GetDiskSpaceInfo(IN LPCTSTR lpRootPathName,IN OUT double &dTotalNum, IN OUT double &dFreeNum);
  72. extern BOOL GetFileVersion( IN HMODULE hModule, IN DWORD (&dwArray)[4]);
  73. extern BOOL GetFileVersionEx( IN LPCTSTR lpFileName, IN DWORD (&dwArray)[4] );
  74. extern BOOL GetProductVersion( IN HMODULE hModule, IN DWORD (&dwArray)[4]);
  75. extern BOOL GetProductVersionEx( IN LPCTSTR lpFileName, IN DWORD (&dwArray)[4] );
  76. // 获取文件夹的修改时间;
  77. extern BOOL GetDirLastWriteTime(IN LPCTSTR lpDirName, OUT LPTSTR lpszString, IN CONST DWORD& dwSize);
  78. // 设置文件夹的修改时间;
  79. extern BOOL SetDirLastWriteTime();
  80. // 获取指定文件句柄的修改时间;
  81. extern BOOL GetLastWriteTime(IN HANDLE hFile, OUT LPTSTR lpszString, IN CONST DWORD& dwSize);
  82. // 设置指定文件夹的修改时间;
  83. extern BOOL SetFileLastWirteTime(IN LPCTSTR lpDirName, IN SYSTEMTIME &st);
  84. // 删除指定的目录所有文件;
  85. extern void DeleteDirectory(CString strDir);
  86. //
  87. extern void GetHostName();
  88. // 创建目录;
  89. bool MKDIR(LPCTSTR dir);
  90. void WriteTextLog(const TCHAR* format, ...);
  91. // 写脚本日志;
  92. void WritePythonLog(LPCTSTR file, const TCHAR* msg);
  93. // 获取本机IP地址;
  94. std::string GetLocalAddress(int nType = MIB_IF_TYPE_ETHERNET);
  95. // 替换指定字符串;
  96. std::string Replace(std::string strSrc, std::string strNew, std::string strOld);
  97. // 获取Python27路径;
  98. BOOL Python27Dir();
  99. // 指定字符串分隔;
  100. void Split(std::string str1, std::string str2, std::vector<std::string> &vt);
  101. };
  102. #endif