// Global.h : 应用程序的全局变量、函数头文件 // // 代码生成在 2014年9月25日, 09:55 #ifndef __LYFZ_SERVERINFO_HEADER__ #define __LYFZ_SERVERINFO_HEADER__ #include #include #include #include ".\\includes\\gdiplus.h" ////请修改为你的头文件路径 using namespace Gdiplus; #pragma comment(lib, ".\\lib\\gdiplus.lib") ////请修改为你的.lib文件路径 #pragma once #define JEFF_TEST_ON 1 // 用于Jeff本人测试标识; #define JEFF_TEST_OFF 0 // 用于Jeff本人测试标识; #define JEFF_DELETE_ON 0 // 用于Jeff本人指示某段代码标识为删除状态; #define JEFF_DELETE_OFF 1 // 用于Jeff本人解除某段代码的删除状态; #define INSERT_SENDREG _T("insert into sendreg([msgtype],[phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values ('%s','%s','%s','%s','%s','%s','%s','%s','%s')") #define INSERT_SENDREGDELAY _T("insert into sendregdelay([msgtype],[phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values ('%s','%s','%s','%s','%s','%s','%s','%s','%s')") #define INSERT_SENDREG_OLD _T("insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values ('%s','%s','%s','%s','%s','%s','%s','%s')") #define INSERT_SENDREG2 _T("insert into [sendreg2]([phones],[content],[price],[yytime],[client],[type],[date],[ren]) values ('%s','%s','%s','%s','%s','%s','%s','%s')") #define MINI_CAPACITY 5 // 硬盘最小可用容量; ////////////////////////////////////////////////////////////////////////// extern BOOL g_bRemote; // 当打开共享目录失败时,这个变量为TRUE; ////////////////////////////////////////////////////////////////////////// // Jeff add 2014-12-11 分隔符; #define SEPARATOR _T("|") // 垫片类 - 安全锁; class SecurityKeylock { HANDLE _hMutex; public: SecurityKeylock(const TCHAR *pKeyName) { _hMutex = OpenMutex(MUTEX_ALL_ACCESS, FALSE, pKeyName); if (NULL == _hMutex) { _hMutex = CreateMutex(NULL, TRUE, pKeyName); // 如果CreateMutex失败…… } else { WaitForSingleObject(_hMutex, INFINITE); } } ~SecurityKeylock() { if ((NULL != _hMutex) && ReleaseMutex(_hMutex)) { CloseHandle(_hMutex); _hMutex = NULL; } } }; typedef struct tagresdata2 // 用途? { BOOL bHasBk; // int nPicCount; // int nPicCount2; // DWORD nPicBmpCount[50]; // 为何设置魔数50? CRect rect[50]; // 为何设置魔数50? }RESDATA2; typedef struct tagUSER { int bLongin; // 是否登陆; CString name; // 用户名; CString rights; // 权限1; CString rights2; // 权限2; CString bm; // 用户部门; CString account; // 用户账号; CString m_discount; // 员工折扣? CString m_discount2; // 员工折扣2? CString level; // 文件夹权限等级? }USER; // 客户端文件dbconfig.dat; typedef struct { BOOL bsql; int server[50]; int user[50]; int psw[50]; }DBSAVE; typedef struct { BYTE bsql; BYTE tabcount; BYTE code[100]; DWORD count[100]; DWORD length[100]; }SENDHEAD; // Import or Export Image Typed typedef enum { ImageType_Original = 1, ImageType_Early = 2, ImageType_Further = 3, ImageType_Design = 4 }IE_IMAGETYPE; extern WORD g_arrFileVersion[4]; extern TCHAR g_szLoginUser[MAX_PATH]; // 当前软件的登陆用户名; extern TCHAR g_szLoginPsw[MAX_PATH]; // 当前软件的登陆密码; extern TCHAR g_szModulePath[MAX_PATH]; // 软件目录; extern TCHAR g_szModuleFileName[MAX_PATH]; // 软件全名称; extern TCHAR g_szConnectString[MAX_PATH]; // DB连接串; extern TCHAR g_szHostComputerIP[MAX_PATH]; // 主机名称; extern DWORD g_dwTCPChatPort; // 主机通信TCP端口; // 服务器信息; 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_szShareHost[MAX_PATH]; extern TCHAR g_szOriginalFolder[MAX_PATH]; extern TCHAR g_szOriginalBkFolder[MAX_PATH]; extern TCHAR g_szEarlyRepairFolder[MAX_PATH]; extern TCHAR g_szEarlyRepairBkFolder[MAX_PATH]; extern TCHAR g_szFurtherRepairFolder[MAX_PATH]; extern TCHAR g_szFurtherRepairBkFolder[MAX_PATH]; extern TCHAR g_szDesignFolder[MAX_PATH]; extern TCHAR g_szDesignBkFolder[MAX_PATH]; extern TCHAR g_szTelRecordingFolder[MAX_PATH]; extern TCHAR g_szFullDressImageFolder[MAX_PATH]; extern BOOL g_bSoftWareReg; extern CString g_strDogMainInfo; extern CString g_strMain; extern CStringArray g_strArrayOfBranchName; extern CStringArray g_strArrayOfBranchName2; extern CStringArray g_strArrayOfBranchIPAdress; extern CStringArray g_strArrayOfBranchDogMainInfo; extern unsigned int g_nCountOfAllowToConn; extern DWORD g_nLeng; extern BYTE *g_pData; extern DWORD g_nLeng2; extern BYTE *g_pData2; extern SENDHEAD g_sendhead; extern BOOL g_bRedSkin; extern COLORREF g_gridcol1; extern COLORREF g_gridcol2; extern COLORREF g_bkcol; extern CString g_date; // 连接服务端时由服务端产生的CTime::GetCurrentTime().Format("%Y-%m-%d %H:%M:%S"); extern CString g_title; extern CArrayg_userarray; extern CArrayg_cominfoarray; extern CArrayg_cominfoarraylocal; extern CArrayg_lengarray; extern CArrayg_btnlengarray; extern CArrayg_pointerarray; extern CBrush g_editbkbrush; extern DWORD g_btnleng[8]; extern int g_btnlengpos; extern int g_nYearpos; // 是[historydb]表记录索引,即g_hisyeararray元素位置; extern CString g_branchname; // Jeff.集团版:????本分店名称; extern CString g_branchip; extern CString g_branchip2; extern BOOL g_bBranchModify; extern BOOL g_bShowOK; // Jeff:? extern BOOL g_bStaffAchievementShow; // 此机用于员工业绩查看; extern BOOL g_bSaveUploadTask1; extern BOOL g_bSaveUploadTask2; extern BOOL g_bSaveUploadTask3; extern BOOL g_bSaveUploadTask4; extern BOOL g_bSearchFilter; // 条件查询开关; == TRUE 开启条件查询, == FALSE 关闭条件查询; extern CString g_waiter1; extern CString g_waiter2; extern CString g_waiter3; extern CString g_waiter4; extern CString g_waiter5; extern CString g_filterdate1; extern CString g_filterdate2; extern CString g_filterdate3; extern CString g_filterdate4; extern CString g_filterdate5; extern CString g_filterdate6; extern CString g_filterbranch; extern USER g_user; extern CString g_mainpath; // 软件目录 extern CString g_id; // extern CString g_server; // 服务端地址 extern CStringArray g_serverarray; // extern CString g_serverbak; // extern CString g_path1; /* 共享目录 <客户原片(管理软件)$> 如:"\\lyfz-pc\客户原片(管理软件)$" */ extern CString g_path2; /* 共享目录 <修好的片(管理软件)$> 如:"\\lyfz-pc\修好的片(管理软件)$" */ extern CString g_path3; /* 共享目录 <设计好的片(管理软件$)> 如:""> */ extern CString g_path4; /* 共享目录 <精修好的片(管理软件$)> 如:""> */ extern CString g_path5; /* 共享目录 <礼服图片(管理软件$)> 如:""> */ extern CString g_path6; /* 共享目录 <电话录音(管理软件$)> 如:""> */ extern CString g_path7; /* 共享目录 <客户原片(管理软件$)\效果图> 如:""> */ extern CString g_path1bak; extern CString g_path2bak; extern CString g_path3bak; extern CString g_path4bak; extern CString g_path5bak; extern CString g_path6bak; extern CString g_path7bak; extern CDatabase g_db; extern DWORD g_ncount; extern CFont g_titlefont; extern DWORD g_nSendCode; extern BOOL g_bSendOK; extern CArrayg_hisyeararray; // 表[historydb]里的记录; extern CArrayg_brancharray; extern CArrayg_oldclientarray; extern CArrayg_List1array; extern BOOL g_bNoConnDlg; extern BOOL g_bInSkin; extern int g_conntype; extern BOOL g_bGenBranchData; extern CString g_temp; extern BOOL g_bSortAscending; extern CFont g_listctrlfont; extern float g_fscalex; extern float g_fscaley; extern int g_screenwid; // 桌面宽 extern int g_screenhei; // 桌面高 extern float g_WidthScale; // 宽刻度Jeff extern float g_HeightScale; // 高刻度Jeff extern RESDATA2 g_resdata2; extern BOOL g_bAlphaWnd; extern BYTE g_bNeedDrawParent; extern BOOL g_bAllBranch; // 是否多店汇总连接; extern CString g_domain; extern CString g_sInfo; extern int g_ncot; extern int g_conpos; extern int g_nAutoShowStaffAchievement; extern BOOL g_bShowBar; extern int g_bookingtype; extern BOOL g_bNoLoginLia; extern BOOL g_bConnLYFZ; extern BOOL g_bSendLYFZ; extern int g_ntimeout; extern float g_WidthScale; extern float g_HeightScale; extern int g_dx; extern int g_dy; extern BOOL g_bNeedCoon; extern float g_WidthScale2 ; extern float g_HeightScale2 ; extern CStringArray g_menubranchname; extern CArray g_aryOfSharePathInfo; // NetShareInfo表记录; //----------------------------------------------------------------------------------------------------------------- extern void LoadImageFromBuf(Bitmap **img, BYTE *pData, DWORD leng); extern void LoadImageFromBuf(Image **img, BYTE *pData, DWORD leng); extern void LoadImageFromBuf(Image **img, CString path); extern void LoadImageFromBuf(Bitmap **img, CString path); extern void LoadImageFromRes(Image **img, LPCTSTR lpszResourceName, LPCTSTR ResourceType); extern int GetOrientation(Image *image); extern int GetEncoderClsid(const WCHAR* format, CLSID* pClsid); extern void LoadImageFromFile(Image **img, CString path); extern void LoadImageFromFile(Bitmap **img, CString path); extern void SaveImageToFile(Image *img, CString path); extern void SaveImageToFile2(Image *img, CString path, ULONG quality); extern void IsWaiter2(CString id, CString name, CArray*waiterarray, BOOL &bWait1, BOOL &bWait2, float &fscale1, float &fscale2, BOOL bCheckDate, CString date1, CString date2); extern void IsWaiter3(CString id, CString name, CArray*waiterarray, BOOL &bWait1, BOOL &bWait2, float &fscale1, float &fscale2); extern CString GetNameFromDomain(CString domain); extern void GetSavePath(CString &path); extern CString GetW(CString str); extern CString GetK(CString str); extern CString GetB(CString str); extern CString GetS(CString str); extern CString GetG(CString str); extern CString GetHMoney(CString str); extern int GetYearPos(int year);// 查找不到年历史数据库则返回-1; extern void FillLength(CString &str, int length); extern BOOL myisdigit(CString str); extern BOOL IsHasRightsnew2(int pos, CString rights); extern CString GetIP(CString branch); extern void WriteTitle(CString str); extern BOOL IsHanZi(CString str); extern int GetType(CString str); extern CString FilterBZ(CString &bz); extern BOOL GIsHalfHZ(const CString &str); extern void RectFitDes(int width, int height, CRect &rc); extern bool CheckFolderFileExist(CString &strPath); extern int GetLengthEx(CString str); extern BOOL IsHasRights(int pos); // 废弃函数; extern BOOL IsHasRights2(int pos); // 废弃函数; extern BOOL IsHasRightsnew(int pos); extern BOOL IsHasRights2new(int pos); extern void FirstLetter(int nCode, CString& strLetter); extern void GetFirstLetter(CString strName, CString& strFirstLetter); extern CString newGUID(); extern void ConvertToPrice(CString &str); extern DWORD FindAppProcessID(CString path); extern BOOL isInnerIP(DWORD a_ip); extern void MyGetIPByName(CString &name); extern void MyGetIPByName2(CString &name); extern CTime GetTmFromStr(CString date); extern int IsExistFolder(char *szPath); extern CString GetBranchPhotoPath(CString branch); extern CString GetDomainFromBranch(CString branch); extern BOOL CheckDateOK2(CString str); extern BOOL CheckBadWords(CString str, BOOL bMsg = 0); extern BOOL CheckBadWords2(CString str, BOOL bMsg = 0); extern int CheckPhoneType(CString &phoneno); extern BOOL CheckDateOK(CString &str); extern int FindArray(CStringArray *pArray, const CString &Str); extern int GetSysIniInfo(const char *szPath = NULL, const char *szIniName = NULL); extern BOOL WaitWithMessageLoop(HANDLE hEvent, int nTimeout); extern BOOL IsFileExist(const TCHAR *pFileFullName); extern void DeleteDirectory(CString strDir); extern BOOL RegisterOcx(LPCTSTR ocxfile); extern BOOL GetDebugPriv(); extern bool GetFileVersion(HMODULE hModule, WORD *pBuffer); extern BOOL CheckInternalIPV4(const unsigned int &ip_addr); extern BOOL IsValidIPV4(const TCHAR *szIP); extern int GetHostAllOfIP(const TCHAR *pHostName, std::vector &vtHostIPV4); extern void DataToArray( CArray*pArrayOfString, int datapos = -1); extern void DataToArray( CArray*pArrayOfString1, CArray*pArrayOfString2, int datapos = -1); extern void DataToArray( CArray*pArrayOfString1, CArray*pArrayOfString2, CArray*pArrayOfString3, int datapos = -1); extern void DataToArray( CArray*pArrayOfString1, CArray*pArrayOfString2, CArray*pArrayOfString3, CArray*pArrayOfString4, int datapos = -1); extern void DataToArray( CArray*pArrayOfString1, CArray*pArrayOfString2, CArray*pArrayOfString3, CArray*pArrayOfString4, CArray*pArrayOfString5, int datapos = -1); extern void DataToArray( CArray*pArrayOfString1, CArray*pArrayOfString2, CArray*pArrayOfString3, CArray*pArrayOfString4, CArray*pArrayOfString5, CArray*pArrayOfString6, int datapos = -1); extern void DataToArray( CArray*pArrayOfString1, CArray*pArrayOfString2, CArray*pArrayOfString3, CArray*pArrayOfString4, CArray*pArrayOfString5, CArray*pArrayOfString6, CArray*pArrayOfString7, int datapos = -1); extern void DataToArray( CArray*pArrayOfString1, CArray*pArrayOfString2, CArray*pArrayOfString3, CArray*pArrayOfString4, CArray*pArrayOfString5, CArray*pArrayOfString6, CArray*pArrayOfString7, CArray*pArrayOfString8, int datapos = -1); extern void DataToArray( CArray*pArrayOfString1, CArray*pArrayOfString2, CArray*pArrayOfString3, CArray*pArrayOfString4, CArray*pArrayOfString5, CArray*pArrayOfString6, CArray*pArrayOfString7, CArray*pArrayOfString8, CArray*pArrayOfString9, CArray*pArrayOfString10, int datapos = -1); extern inline int MultiByteLengthConvertToWideCharLength(/*LPCSTR*/LPCCH lpString); extern void lyfzImportImage(LPCTSTR lpDestDirectory, CStringArray &strArrayOfImage, const BOOL &bFailIfExists = TRUE); extern BOOL lyfzCopyFileEx(LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, const BOOL &bFailIfExists = TRUE); extern BOOL lyfzCreateDirectory(LPCTSTR lpDestDirectory); extern void lyfzSplitpath(const char *path, char *drive, char *dir, const int &nTimes); extern void ShowSystemErrorInfo(CString &strDescription, const DWORD &dwError); extern void WriteClientLog(const CString &strLogContent); extern BOOL IsDirectoryLegitimate(const CString &strDirectory); extern void ExportCutImageToFile(LPCCH lpOrderCutImageInfo, LPCCH lpSrcDirectory, LPCCH lpSaveDirectory); extern BOOL AnalysisImagInfo(CStringArray &saSrcPhoto, LPCCH strSrcDirectory, LPCCH strSaveDirectory, CString &strImageInfo, CString &strImageName, CString &strCutScheme, CRect &rtCut); extern int GetCountOfOrderFolderPhotoFile( const TCHAR *pOrderFolder, CStringArray &StrPhotoArray); extern VOID GetFileNameFromFullPath(CONST CString &strFullPath, CString &strRet); extern HMODULE g_hlyfzMicroShareDLL; extern BOOL LoadMicroShareLibrary(); extern void FreeMicroShareLibrary(); typedef INT (WINAPI *lyfzCreateShare)( IN LPCTSTR lpShareAccount, // 微分享的登录账号; IN LPCTSTR lpAccountPsw, // 微分享的登录账号密码; IN LPCTSTR lpRootDirectory, // 相片根级目录; IN LPCTSTR lpBranchName, // 分店域名; IN LPCTSTR lpOrderNumber, // 订单号,用于生成二维码文件名; IN LPCTSTR lpScenery, // 景点名; IN LPCTSTR lpSourceFilePath, // 要分享的文件根目录; IN LPCTSTR lpCustomer1Name, // 客人姓名1 ; IN LPCTSTR lpCustomer2Name, // 客人姓名2 ; IN LPCTSTR lpMakeupArtist, // 化妆师; OUT LPTSTR lpMicroAlbumID // 返回微相册ID; ); extern lyfzCreateShare g_lyfzCreateShare; extern BOOL GetRemoteConfig(); extern BOOL OpenShareDirectory(); extern BOOL GetDiskSpaceInfo(IN LPCTSTR lpRootPathName,IN OUT double &dTotalNum, IN OUT double &dFreeNum); extern BOOL GetNetShareInfo(IN LPCTSTR lpszServer, IN LPCTSTR lpszShare, OUT LPTSTR lpPath); extern BOOL GetEnableShareDirectory(IN const int &nPhotoType, IN LPCTSTR lpOrderNum, IN LPCTSTR lpDomain, OUT LPTSTR lpEnableShareDirectory); extern BOOL GetExistsShareDirectory(IN const int &nPhotoType, IN LPCTSTR lpOrderNum, IN LPCTSTR lpDomain, OUT CStringArray &strArray); extern void WriteTextLog(const TCHAR *format, ...); #endif