151 lines
4.2 KiB
C++
151 lines
4.2 KiB
C++
//---------------------------------------------------------------------------
|
|
#include <vcl.h>
|
|
#include <stdio.h>
|
|
#include <stdarg.h>
|
|
#include <tchar.h>
|
|
#include <time.h>
|
|
|
|
#include "GlobalUnit.h"
|
|
#pragma hdrstop
|
|
|
|
//---------------------------------------------------------------------------
|
|
#pragma package(smart_init)
|
|
|
|
//---------------------------------------------------------------------------
|
|
// 全局变量
|
|
HINSTANCE g_hPMDll = NULL;
|
|
PM_PARAMENCODE PM_ParamEncode = NULL;
|
|
|
|
char g_AppPath[256] = ""; //应用程序路径
|
|
bool g_bTesting = false, //是否测试模式
|
|
g_bPassLogin = false, //是否绕过登录验证
|
|
g_bRestart = false; //是否重复执行同一目录下的exe
|
|
UINT g_xDpi=96, g_yDpi=96;
|
|
|
|
unsigned g_uid = 0; //用户号
|
|
char g_sWebUN[32] = ""; //用户名
|
|
//char g_sAgentDomain[32] = ""; //代理域名
|
|
char g_sWebID[16] = ""; //用户编号
|
|
|
|
#if defined(_PKH_)
|
|
char g_strWebsite[256] = "http:\/\/x76.fut168.com";
|
|
#elif defined(_SX_) || defined(_SSCSX_)
|
|
char g_strWebsite[256] = "http:\/\/x76.fut168.com";
|
|
#elif defined(_GD_)
|
|
char g_strWebsite[256] = "http:\/\/hkh360.com";
|
|
#elif defined(_CJ_)
|
|
char g_strWebsite[256] = "http:\/\/ww165421.gh.qy63.com";
|
|
#elif defined(_HKCHB_)
|
|
char g_strWebsite[256] = "http:\/\/www.vin211.com";
|
|
#elif defined(_TYSSC_)
|
|
char g_strWebsite[256] = "https:\/\/www.vip66606.com";
|
|
#elif defined(_XBSSC_)
|
|
char g_strWebsite[256] = "http:\/\/103.31.220.87";
|
|
//#elif defined(_ABG_)
|
|
// char g_strWebsite[256] = "https:\/\/www.abg7777.net";
|
|
#else
|
|
char g_strWebsite[256] = "";
|
|
#endif
|
|
|
|
#if defined(_PKH_)
|
|
char g_strWebsiteHdg[256] = "https:\/\/www.sg909.com"; // "www.vin211.com"
|
|
#elif defined(_HKCHDG_)
|
|
char g_strWebsiteHdg[256] = "http:\/\/ww165421.gh.qy63.com";
|
|
#elif defined(_HDG_)
|
|
char g_strWebsiteHdg[256] = "";
|
|
#endif
|
|
|
|
#if defined(_PKH_) || defined(_HKCHDG_)
|
|
// char g_sWebUNHdg[32] = ""; //对冲用户名
|
|
// char g_sAgentDomainHdg[32] = "";
|
|
#endif
|
|
|
|
//---------------------------------------------------------------------------
|
|
//全局函数
|
|
void DebugPrint(const char * fmt, ...)
|
|
{
|
|
#ifdef _DEBUG
|
|
char sDebug[10240];
|
|
sDebug[0] = '\0';
|
|
|
|
char tbuffer[9];
|
|
_strtime(tbuffer);
|
|
|
|
sprintf(sDebug, "[%s] ", tbuffer);
|
|
|
|
va_list vaParams;
|
|
va_start(vaParams, fmt);
|
|
|
|
vsprintf(sDebug + strlen(sDebug), fmt, vaParams);
|
|
OutputDebugStringA(sDebug);
|
|
#endif
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
#include <System.DateUtils.hpp>
|
|
unsigned __fastcall GetCompileTime()
|
|
{
|
|
char sMon[4] = {0};
|
|
int year, mon, day, hour, min, sec;
|
|
|
|
sscanf(__TIME__, "%d:%d:%d", &hour, &min, &sec);
|
|
sscanf(__DATE__, "%3s %d %d", sMon, &day, &year);
|
|
if(sMon[0]=='J'){
|
|
if(sMon[1]=='a') mon = 1; //Jan
|
|
else if(sMon[2]=='n') mon = 6; //Jun
|
|
else mon = 7; //Jul
|
|
}
|
|
else if(sMon[0]=='F') mon = 2; //Feb
|
|
else if(sMon[0]=='M'){
|
|
if(sMon[2]=='r') mon = 3; //Mar
|
|
else mon = 5; //May
|
|
}
|
|
else if(sMon[0]=='A'){
|
|
if(sMon[1]=='p') mon = 4; //Apr
|
|
else mon = 8; //Aug
|
|
}
|
|
else if(sMon[0]=='S') mon = 9; //Sep
|
|
else if(sMon[0]=='O') mon = 10; //Oct
|
|
else if(sMon[0]=='N') mon = 11; //Nov
|
|
else mon = 12; //Dec
|
|
TDateTime dt;
|
|
TryEncodeDateTime(year, mon, day, hour, min, sec, 0, dt);
|
|
return DateTimeToUnix(dt, false);
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
|
|
//---------------------------------------------------------------------------
|
|
//TLog
|
|
TLog u_Log;
|
|
//---------------------------------------------------------------------------
|
|
|
|
HANDLE TLog::m_hLogSema = CreateSemaphore( NULL, 1, 1, NULL );
|
|
|
|
__fastcall TLog::~TLog()
|
|
{
|
|
if( m_hLogSema )
|
|
CloseHandle(m_hLogSema);
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
|
|
void __fastcall TLog::WriteLog( String msg )
|
|
{
|
|
SYSTEMTIME st;
|
|
GetLocalTime(&st);
|
|
|
|
char szLogFile[256];
|
|
sprintf( szLogFile, "%s%s%04d%02d%02d.log", g_AppPath, APPABBR, st.wYear, st.wMonth, st.wDay);
|
|
|
|
WaitForSingleObject( m_hLogSema, 1000 );
|
|
|
|
FILE* fp = fopen( szLogFile, "a+" );
|
|
if( fp ){
|
|
fprintf( fp, "[%02d:%02d:%02d] ", st.wHour, st.wMinute, st.wSecond );
|
|
fprintf( fp, "%s\n" , ((AnsiString)msg).c_str() );
|
|
|
|
fclose( fp );
|
|
}
|
|
|
|
ReleaseSemaphore( m_hLogSema, 1, NULL );
|
|
}
|
|
//---------------------------------------------------------------------------
|