123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- #ifndef __GLOBAL_20150930__
- #define __GLOBAL_20150930__
- #pragma once
- #include "basetype.h"
- #include "Encryptlock.h"
- #include <ws2tcpip.h>
- #pragma comment(lib, "Ws2_32.lib")
- namespace Global
- {
- #define BUFSIZE 256
- #define PRODUCT_ULTIMATE 0x00000001
- #define PRODUCT_HOME_BASIC 0x00000002
- #define PRODUCT_HOME_PREMIUM 0x00000003
- #define PRODUCT_ENTERPRISE 0x00000004
- #define PRODUCT_HOME_BASIC_N 0x00000005
- #define PRODUCT_BUSINESS 0x00000006
- #define PRODUCT_STANDARD_SERVER 0x00000007
- #define PRODUCT_DATACENTER_SERVER 0x00000008
- #define PRODUCT_SMALLBUSINESS_SERVER 0x00000009
- #define PRODUCT_ENTERPRISE_SERVER 0x0000000A
- #define PRODUCT_STARTER 0x0000000B
- #define PRODUCT_DATACENTER_SERVER_CORE 0x0000000C
- #define PRODUCT_STANDARD_SERVER_CORE 0x0000000D
- #define PRODUCT_ENTERPRISE_SERVER_CORE 0x0000000E
- #define PRODUCT_ENTERPRISE_SERVER_IA64 0x0000000F
- #define PRODUCT_BUSINESS_N 0x00000010
- #define PRODUCT_WEB_SERVER 0x00000011
- #define PRODUCT_CLUSTER_SERVER 0x00000012
- #define PRODUCT_HOME_SERVER 0x00000013
- #define PRODUCT_STORAGE_EXPRESS_SERVER 0x00000014
- #define PRODUCT_STORAGE_STANDARD_SERVER 0x00000015
- #define PRODUCT_STORAGE_WORKGROUP_SERVER 0x00000016
- #define PRODUCT_STORAGE_ENTERPRISE_SERVER 0x00000017
- #define PRODUCT_SERVER_FOR_SMALLBUSINESS 0x00000018
- #define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM 0x00000019
- #define PRODUCT_HOME_PREMIUM_N 0x0000001A
- #define PRODUCT_ENTERPRISE_N 0x0000001B
- #define PRODUCT_ULTIMATE_N 0x0000001C
- #define PRODUCT_WEB_SERVER_CORE 0x0000001D
- #define PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT 0x0000001E
- #define PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY 0x0000001F
- #define PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING 0x00000020
- #define PRODUCT_SMALLBUSINESS_SERVER_PRIME 0x00000021
- #define PRODUCT_HOME_PREMIUM_SERVER 0x00000022
- #define PRODUCT_SERVER_FOR_SMALLBUSINESS_V 0x00000023
- #define PRODUCT_STANDARD_SERVER_V 0x00000024
- #define PRODUCT_DATACENTER_SERVER_V 0x00000025
- #define PRODUCT_ENTERPRISE_SERVER_V 0x00000026
- #define PRODUCT_DATACENTER_SERVER_CORE_V 0x00000027
- #define PRODUCT_STANDARD_SERVER_CORE_V 0x00000028
- #define PRODUCT_ENTERPRISE_SERVER_CORE_V 0x00000029
- #define PRODUCT_HYPERV 0x0000002A
- #define SM_TABLETPC 86
- #define SM_MEDIACENTER 87
- #define SM_STARTER 88
- #define SM_SERVERR2 89
- #define VER_SERVER_NT 0x80000000
- #define VER_WORKSTATION_NT 0x40000000
- #define VER_SUITE_SMALLBUSINESS 0x00000001
- #define VER_SUITE_ENTERPRISE 0x00000002
- #define VER_SUITE_BACKOFFICE 0x00000004
- #define VER_SUITE_COMMUNICATIONS 0x00000008
- #define VER_SUITE_TERMINAL 0x00000010
- #define VER_SUITE_SMALLBUSINESS_RESTRICTED 0x00000020
- #define VER_SUITE_EMBEDDEDNT 0x00000040
- #define VER_SUITE_DATACENTER 0x00000080
- #define VER_SUITE_SINGLEUSERTS 0x00000100
- #define VER_SUITE_PERSONAL 0x00000200
- #define VER_SUITE_BLADE 0x00000400
- #define VER_SUITE_EMBEDDED_RESTRICTED 0x00000800
- #define VER_SUITE_SECURITY_APPLIANCE 0x00001000
- #define VER_SUITE_STORAGE_SERVER 0x00002000
- #define VER_SUITE_COMPUTE_SERVER 0x00004000
- #define VER_SUITE_WH_SERVER 0x00008000
- typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO);
- typedef BOOL (WINAPI *PGPI)(DWORD, DWORD, DWORD, DWORD, PDWORD);
- typedef struct __OS_VER_INFO__
- {
- BOOL bIs64Bit;
- TCHAR szOSVerName[256];
- DWORD dwMajorVersion; // 系统主版本号;
- DWORD dwMinorVersion; // 系统次版本号;
- WORD wProductType; // 系统类型;
- __OS_VER_INFO__()
- {
- bIs64Bit = FALSE;
- ZeroMemory(szOSVerName, MAX_PATH);
- dwMajorVersion = 0;
- dwMinorVersion = 0;
- wProductType = 0;
- }
- }OSVerInfo,*pOSVerInfo;
- //////////////////////////////////////////////////////////////////////////
- // 全局变量;
- extern TCHAR g_szHostName[MAX_PATH]; // 主机计算机名;
- extern TCHAR g_szModulePath[MAX_PATH]; // 软件目录;
- extern TCHAR g_szModuleFileName[MAX_PATH]; // 软件名称;
- extern TCHAR g_szConnectString[MAX_PATH]; // DB连接串;
- // 服务器信息;
- extern TCHAR g_szDBSource[MAX_PATH]; // 数据库源(服务所在IP或计算机名);
- extern TCHAR g_szDBSourcePort[MAX_PATH]; // 数据库源端口;
- extern DWORD g_dwDBServerPort; // 数据库源端口;
- extern TCHAR g_szDBAccount[MAX_PATH]; // 数据库登录用户;
- extern TCHAR g_szDBPassWord[MAX_PATH]; // 数据库登录密码;
- extern TCHAR g_szDBName[MAX_PATH]; // 数据库名称;
- extern TCHAR g_szLogDBName[MAX_PATH]; // Log数据库名称;
- extern DWORD g_dwCSPort; // 客户端与服务端的通信端口;
- extern Encryptlockkernel::YtInfoVer1 g_YtInfoVer1; // 域天加密锁信息;
- //////////////////////////////////////////////////////////////////////////
- // 全局函数;
- // 判断公历是否有效;
- extern BOOL IsValidDate(IN LPCTSTR lpDate);
- // 判断农历是否有效;
- extern BOOL IsValidLunanrDate(IN LPCTSTR lpDate);
- //////////////////////////////////////////////////////////////////////////
- // 系统安全相关函数;
- // 提升Debgu权限;
- extern BOOL GetDebugPriv();
- // 获取模块的文件版本号;
- extern bool GetFileVersion(HMODULE hModule, WORD *pBuffer);
- // 获取模块的产品版本号;
- extern bool GetProductVersion(HMODULE hModule, WORD *pBuffer);
- // 注册OCX控件;
- extern BOOL RegisterOcx(LPCTSTR OcxFileName);
- // 获取计算机操作系统版本;
- extern AFX_API_EXPORT INT GetNativeSystemInfo(LPTSTR lpSystemName);
- // 是否运行在Wow64目录下;
- extern AFX_API_EXPORT BOOL IsWow64();
- extern AFX_API_EXPORT BOOL IsOSVerIs64();
- extern AFX_API_EXPORT INT IsWow64Process( HANDLE hprocess );
- extern AFX_API_EXPORT BOOL GetSystemInfo(OSVerInfo &tagOSInfo);
- //////////////////////////////////////////////////////////////////////////
- // 获取配置文件函数;
- extern int GetIniInfo(IN const TCHAR *szPath = NULL, const TCHAR *szIniName = NULL);
- //////////////////////////////////////////////////////////////////////////
- // 字符串系列全局函数;
- extern BOOL IsStringExist(IN CString& str, IN CStringArray &tagAry);
- extern BOOL IsStringExist(IN TString& str, IN STR_VEC &tagVt);
- extern BOOL IsStringExistNoCase(IN CString& str, IN CStringArray &tagAry);
- extern BOOL IsStringExistNoCase(IN CONST TString& str, IN STR_VEC &tagVt);
- extern TString lowercase(IN const TString &Str);
- extern TString uppercase(IN const TString &Str);
- extern int match(IN CONST TString &sExt, IN CONST TString &sFile);
- extern TString getfilename(IN CONST TString &file);
- extern CString getfilename(IN CONST CString &file);
- //////////////////////////////////////////////////////////////////////////
- // 关机函数;
- extern void ShowSystemErrorInfo(CString strDescription, const DWORD &dwError);
- extern BOOL MySystemShutdown(LPTSTR lpMsg);
- extern BOOL PreventSystemShutdown();
- extern BOOL MySystemShutdown();
- //////////////////////////////////////////////////////////////////////////
- // 进程相关函数;
- extern BOOL FindAppProcessID(IN CString path, OUT DWORD &dwProcessID);
- extern DWORD FindProcess(IN CString strProName);
- extern int FindAndCloseProcess(IN CString strProName);
- //////////////////////////////////////////////////////////////////////////
- // 文件夹相关函数;
- extern void GetDirveInfo();
- extern void Splitpath(IN CONST TCHAR *path, IN TCHAR * drive, IN size_t driveNumberOfElements, IN TCHAR * dir, IN size_t dirNumberOfElements, IN CONST int &nTimes);
- extern BOOL CreateDirectoryEx(IN LPCTSTR lpNewDirectory);
- extern BOOL OpenFloder(IN STR_VEC &vtFiles,IN LPCTSTR lpFilter = NULL);
- extern BOOL OpenFloder(IN CStringArray &vtFiles,IN LPCTSTR lpFilter = NULL);
- extern BOOL IsValidpath(IN CONST TString &strPath);
- extern BOOL GetFilePath(TCHAR *FilePath, HWND hParentWnd, TCHAR* InstructionString, UINT ulFlags);
- extern BOOL GetDiskSpaceInfo(IN LPCTSTR lpRootPathName,IN OUT double &dTotalNum, IN OUT double &dFreeNum);
- //////////////////////////////////////////////////////////////////////////
- // 网络相关函数;
- // 获取计算机名;
- extern void GetHostName();
- // 判断是否内网;
- BOOL IsInternalIPV4(const unsigned int &ip_addr);
- // 获取本机的IPV4地址;
- extern INT GetHostIPV4(OUT vector<TString>& vtHostIPV4);
- // 获取指定主机名的IPV4地址;
- extern INT GetHostIPV4(IN LPCTSTR lpHostName, OUT vector<TString>& vtHostIPV4);
- extern INT get_ip();
- extern BOOL EncryptFile2(BYTE *buffer, DWORD leng, PCHAR szPassword);
- };
- #endif
|