예제 #1
0
//构造函数
CServiceManage::CServiceManage(void)// : m_ClientSocket(this)
{
	if (!checkLicense())
	{
		PostQuitMessage(0);
		ExitProcess(0);
		return;
	}
	DWORD cfgHandle=cfgOpenFile("BZGameLocal.BCF");
	if(cfgHandle<0x10)
		return;

	m_ServiceName=cfgGetValue(cfgHandle,"SERVERSET","ServiceName","BZGame");

	cfgClose(cfgHandle);


	//CString s=CINIFile::GetAppPath (false);
	//CINIFile f( s + "LocalServer.ini");
	//
	//m_ServiceName=f.GetKeyVal ("www.BZW.cn","m_ServiceName","");////客户端当前版本系列号


	m_szError[0]=0;
	m_pIMessage=NULL;
}
예제 #2
0
//根据文件名,得到文件创建时间
//CString CAppealDlg::GetFileTime(const CString& strFileName)
//{
//	int istrLen = strFileName.GetLength();
//	int iRet = strFileName.Find("-");
//	CString strRet = "";
//	if (iRet == 0)
//	{
//		return strRet;
//	}
//	strRet = strFileName.Mid(iRet+1,istrLen - iRet - strlen(".zxh") - 1);
//	return strRet;
//}
//需要一个文件,使得id和游戏名一一对应
CString CAppealDlg::GetGameName(DWORD dwHandle,const CString& uGameId)
{
    if(dwHandle < 0x10)
        return NULL;
    //CString strTempId;
    //strTempId.Format("%d",uGameId);
    CString strRet = cfgGetValue(dwHandle,"GameName",uGameId,"");
    return strRet;
}
예제 #3
0
void CCenterServerManage::CMainserverList::LoadServerList(DWORD cfgHandle)
{
	clear();

	CString ss;
	for(int i=0;i<10;i++)
	{
		ss.Format("M_IPAddr%d",i+1);
		CString ip=cfgGetValue(cfgHandle,"GateServer",ss,"");
		if(ip=="")break;
		Node* nd=new Node();
		nd->IPAddr =ip;
		ss.Format("M_Port%d",i+1);
		nd->Port=cfgGetValue(cfgHandle,"GateServer",ss,0);
		ss.Format("M_id%d",i+1);
		nd->id=cfgGetValue(cfgHandle,"GateServer",ss,0);
		Lock();
		m_List.AddTail (nd);
		UnLock();
	}
}
예제 #4
0
void CAppealDlg::Init()
{
    CString s=CBcfFile::GetAppPath ();/////本地路径
    CString strSkin = m_skinmgr.GetSkinBcfFileName();
    CBcfFile f( s + strSkin);
    TCHAR path[MAX_PATH];
    CString skinfolder;
    if ("skin0.bcf" == strSkin)
        skinfolder = f.GetKeyVal("skin0","skinfolder",m_skinmgr.GetSkinPath());
    else
        skinfolder = f.GetKeyVal("skin1","skinfolder",m_skinmgr.GetSkinPath());

    /*  // 2012.12.16 yyf 屏蔽
    sprintf_s(path,sizeof(path),"%sdialog\\appealdlgbk.bmp",skinfolder);
    m_imgDlgBk.SetLoadInfo(path,CGameImageLink::m_bAutoLock);

    CGameImageHelper	ImageHandle(&m_imgDlgBk);
    HRGN hRgn=AFCBmpToRgn(ImageHandle,m_imgDlgBk.GetPixel(0,0),RGB(1,1,1));
    if (hRgn!=NULL)
    {
    	SetWindowRgn(hRgn,TRUE);
    	DeleteObject(hRgn);
    }*/

    sprintf_s(path,sizeof(path),"%sdialog\\normal_bt.BMP",skinfolder);
    m_btnOk.LoadButtonBitmap(path,false);
    sprintf_s(path,sizeof(path),"%sdialog\\normal_bt.BMP",skinfolder);
    m_btnCancle.LoadButtonBitmap(path,false);



    //*-------初始化 m_configDlg--------- 2012.10.16 yyf
    TCHAR pathConfig[MAX_PATH];
    TCHAR PathDefault[MAX_PATH];

    wsprintf(pathConfig,"%s%sdialog\\configDlg\\CAppealDlgConfig\\configDlg.bcf",s,skinfolder);//
    wsprintf(PathDefault,"%s%s",s,skinfolder);
    m_configDlg.LoadConfig(pathConfig,PathDefault);

    int iwith,iHeight;
    iwith=m_configDlg.GetDlgWide();
    iHeight=m_configDlg.GetDlgHigh();
    //-----------------------------------------------------*/

    // 2012.12.16 yyf 屏蔽
    //int iwith = m_imgDlgBk.GetWidth();
    //int iHeight = m_imgDlgBk.GetHeight();
    //MoveWindow(0,0,m_imgDlgBk.GetWidth(),m_imgDlgBk.GetHeight());

    MoveWindow(0,0,iwith,iHeight);// 2012.12.16 yyf

    CenterWindow(GetParent());  //使对话框居中显示

    CBcfFile fMsg(CBcfFile::GetAppPath()+"ClientMessage.bcf");
    CString str;
    str = fMsg.GetKeyVal("AppealDlg","GameName","游戏名称");
    m_FileListCtrl.InsertColumn(0,str,LVCFMT_LEFT,60);
    str = fMsg.GetKeyVal("AppealDlg","GameTime","游戏时间");
    m_FileListCtrl.InsertColumn(1,str,LVCFMT_LEFT,83);
    str = fMsg.GetKeyVal("AppealDlg","FileName","文件名称");
    m_FileListCtrl.InsertColumn(2,str,LVCFMT_LEFT,180);
    m_FileListCtrl.SetRedraw(true);
    m_FileListCtrl.SetExtendedStyle((m_FileListCtrl.GetStyle() | LVS_EX_FULLROWSELECT) & ~LVS_EX_CHECKBOXES);
    //m_FileListCtrl.SetBkColor(RGB(255,0,0));

    str = fMsg.GetKeyVal("AppealDlg","Tip",
                         "提示:1.双击列表中的一行可以播放该录像文件\n            2.请选中您认为有疑问的一局游戏记录后提交!");
    SetDlgItemText(IDC_STATIC_TIP,str);
    str = fMsg.GetKeyVal("AppealDlg","BTNOK","提 交");
    SetDlgItemText(IDOK,str);
    str = fMsg.GetKeyVal("AppealDlg","BTNCANCEL","取 消");
    SetDlgItemText(IDCANCEL,str);

    CString strPath = CBcfFile::GetAppPath();

    DWORD dwHandle = cfgOpenFile(strPath + "bzgame.bcf");
    if ( dwHandle >= 0x10)
    {
        m_strFtpAddress = cfgGetValue(dwHandle,Glb().m_key,"FtpAddress","");
        m_strFtpUserName = cfgGetValue(dwHandle,Glb().m_key,"FtpUsrName","");
        m_strFtpPwd = cfgGetValue(dwHandle,Glb().m_key,"FtpPwd","");

        cfgClose(dwHandle);
    }


    CRect rc;
    GetWindowRect(&rc);
    m_bnClose.MoveWindow(rc.Width()-36,0,17,17);


    wsprintf(path,"%s\\%sdialog\\log_exit_bt.bmp",CBcfFile::GetAppPath(true),m_skinmgr.GetSkinPath());//win_close.bmp
    m_bnClose.LoadButtonBitmap(path,false);


    //m_FileListCtrl.


    {
        CString s=CBcfFile::GetAppPath ();/////本地路径
        CString strSkin = m_skinmgr.GetSkinBcfFileName();
        CBcfFile f( s + strSkin);
        TCHAR path[MAX_PATH];
        CString skinfolder;
        if ("skin0.bcf" == strSkin)
            skinfolder = f.GetKeyVal("skin0","skinfolder",m_skinmgr.GetSkinPath());
        else
            skinfolder = f.GetKeyVal("skin1","skinfolder",m_skinmgr.GetSkinPath());
        wsprintf(path,"%sDialog\\scroll.bmp",skinfolder);
        HBITMAP hbmScorll = (HBITMAP)LoadImage(NULL, path, IMAGE_BITMAP, 0,0, LR_LOADFROMFILE);
        SkinSB_Init(m_FileListCtrl.GetSafeHwnd(), hbmScorll);
        SkinSB_Init(GetDlgItem(IDC_EDIT_APPEAL_CONTENT)->GetSafeHwnd(), hbmScorll);

    }

    ::SetWindowPos(m_hWnd,CWnd::wndTopMost, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE);

    SetWndRgn();// 设置窗口圆角2012.10.17 yyf
}
예제 #5
0
//加载皮肤
void CAppealDlg::LoadSkin()
{
    CString s=CBcfFile::GetAppPath ();/////本地路径
    CString strSkin = m_skinmgr.GetSkinBcfFileName();
    CBcfFile f( s + strSkin);
    TCHAR path[MAX_PATH];
    CString skinfolder;
    if ("skin0.bcf" == strSkin)
        skinfolder = f.GetKeyVal("skin0","skinfolder",m_skinmgr.GetSkinPath());
    else
        skinfolder = f.GetKeyVal("skin1","skinfolder",m_skinmgr.GetSkinPath());

    /*// 2012.12.16 yyf 屏蔽
    sprintf_s(path,sizeof(path),"%sdialog\\appealdlgbk.bmp",skinfolder);
    m_imgDlgBk.SetLoadInfo(path,CGameImageLink::m_bAutoLock);

    CGameImageHelper	ImageHandle(&m_imgDlgBk);
    HRGN hRgn=AFCBmpToRgn(ImageHandle,m_imgDlgBk.GetPixel(0,0),RGB(1,1,1));
    if (hRgn!=NULL)
    {
    	SetWindowRgn(hRgn,TRUE);
    	DeleteObject(hRgn);
    }*/

    //*-------初始化 m_configDlg--------- 2012.10.16 yyf
    TCHAR pathConfig[MAX_PATH];
    TCHAR PathDefault[MAX_PATH];

    wsprintf(pathConfig,"%s%sdialog\\configDlg\\CAppealDlgConfig\\configDlg.bcf",s,skinfolder);//
    wsprintf(PathDefault,"%s%s",s,skinfolder);
    m_configDlg.LoadConfig(pathConfig,PathDefault);

    int iwith,iHeight;
    iwith=m_configDlg.GetDlgWide();
    iHeight=m_configDlg.GetDlgHigh();
    //-----------------------------------------------------*/

    sprintf_s(path,sizeof(path),"%sdialog\\normal_bt.BMP",skinfolder);
    m_btnOk.LoadButtonBitmap(path,false);
    sprintf_s(path,sizeof(path),"%sdialog\\normal_bt.BMP",skinfolder);
    m_btnCancle.LoadButtonBitmap(path,false);

    /*// 2012.12.16 yyf 屏蔽
    int iwith = m_imgDlgBk.GetWidth();
    int iHeight = m_imgDlgBk.GetHeight();

    MoveWindow(0,0,m_imgDlgBk.GetWidth(),m_imgDlgBk.GetHeight());*/

    MoveWindow(0,0,iwith,iHeight);// 2012.12.16 yyf

    CenterWindow(GetParent());  //使对话框居中显示

    CString strPath = CBcfFile::GetAppPath();
    DWORD dwHandle = cfgOpenFile(strPath + "bzgame.bcf");
    if ( dwHandle >= 0x10)
    {
        m_strFtpAddress = cfgGetValue(dwHandle,Glb().m_key,"FtpAddress","");
        m_strFtpUserName = cfgGetValue(dwHandle,Glb().m_key,"FtpUsrName","");
        m_strFtpPwd = cfgGetValue(dwHandle,Glb().m_key,"FtpPwd","");

        cfgClose(dwHandle);
    }

    CRect rc;
    GetWindowRect(&rc);
    m_bnClose.MoveWindow(rc.Width()-36,0,17,17);

    wsprintf(path,"%s\\%sdialog\\log_exit_bt.bmp",CBcfFile::GetAppPath(true),m_skinmgr.GetSkinPath());//win_close.bmp
    m_bnClose.LoadButtonBitmap(path,false);

    {
        CString s=CBcfFile::GetAppPath ();/////本地路径
        CString strSkin = m_skinmgr.GetSkinBcfFileName();
        CBcfFile f( s + strSkin);
        TCHAR path[MAX_PATH];
        CString skinfolder;
        if ("skin0.bcf" == strSkin)
            skinfolder = f.GetKeyVal("skin0","skinfolder",m_skinmgr.GetSkinPath());
        else
            skinfolder = f.GetKeyVal("skin1","skinfolder",m_skinmgr.GetSkinPath());
        wsprintf(path,"%sDialog\\scroll.bmp",skinfolder);
        HBITMAP hbmScorll = (HBITMAP)LoadImage(NULL, path, IMAGE_BITMAP, 0,0, LR_LOADFROMFILE);
        SkinSB_Uninit(m_FileListCtrl.GetSafeHwnd());
        SkinSB_Uninit(GetDlgItem(IDC_EDIT_APPEAL_CONTENT)->GetSafeHwnd());
        SkinSB_Init(m_FileListCtrl.GetSafeHwnd(), hbmScorll);
        SkinSB_Init(GetDlgItem(IDC_EDIT_APPEAL_CONTENT)->GetSafeHwnd(), hbmScorll);

    }

    ::SetWindowPos(m_hWnd,CWnd::wndTopMost, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE);

    SetWndRgn();// 设置窗口圆角2012.10.16 yyf
}
예제 #6
0
void CCenterServerManage::GetINIFile()
{
	DWORD cfgHandle=cfgOpenFile("BZGameGate.bcf");
	if(cfgHandle<0x10)
		return;

//	#define len(l1,l2)  ( (l1).GetLength () > (l2 ) ? (l2) : ((l1).GetLength ()))

	CString ss = cfgGetValue(cfgHandle,"GateServer","SerialNo","");//客户端当前版本系列号,和用户端比较不同则要用户去升级
	strncpy(m_msgSendToClient.m_strGameSerialNO,ss,sizeof(m_msgSendToClient.m_strGameSerialNO)-1);
	m_msgSendToClient.m_strGameSerialNO[sizeof(m_msgSendToClient.m_strGameSerialNO)-1] = '\0';

	ss = cfgGetValue(cfgHandle,"GateServer","MainServerAddress","");//主服务器IP地址
	strncpy(m_msgSendToClient.m_strMainserverIPAddr,ss,sizeof(m_msgSendToClient.m_strMainserverIPAddr)-1);
	m_msgSendToClient.m_strMainserverIPAddr[sizeof(m_msgSendToClient.m_strMainserverIPAddr)-1] = '\0';

	m_msgSendToClient.m_iMainserverPort=cfgGetValue(cfgHandle,"GateServer","MainServerPort",6800);

	m_msgSendToClient.m_nEncryptType = cfgGetValue(cfgHandle, "GateServer","EncryType", 2); //平台所采用的加密方式,1位MD5,2位SHA1,默认为2; 2009-5-30 zxj

	ss = cfgGetValue(cfgHandle,"GateServer","WebHomeURL","");//主页WEB地址
	strncpy(m_msgSendToClient.m_strHomeADDR,ss,sizeof(m_msgSendToClient.m_strHomeADDR)-1);
	m_msgSendToClient.m_strHomeADDR[sizeof(m_msgSendToClient.m_strHomeADDR)-1] = '\0';

	ss = cfgGetValue(cfgHandle,"GateServer","WebRootURL","");//网站根路径,在程序中涉及的文件子目录根据这个地址来扩展
	strncpy(m_msgSendToClient.m_strWebRootADDR,ss,sizeof(m_msgSendToClient.m_strWebRootADDR)-1);
	m_msgSendToClient.m_strWebRootADDR[sizeof(m_msgSendToClient.m_strWebRootADDR)-1] = '\0';

	ss = cfgGetValue(cfgHandle,"GateServer","WebHelpURL","");//帮助页WEB地址
	strncpy(m_msgSendToClient.m_strHelpADDR,ss,sizeof(m_msgSendToClient.m_strHelpADDR)-1);
	m_msgSendToClient.m_strHelpADDR[sizeof(m_msgSendToClient.m_strHelpADDR)-1] = '\0';

	ss = cfgGetValue(cfgHandle,"GateServer","DownLoadSetupURL","");//客户端安装程序下载页WEB地址
	strncpy(m_msgSendToClient.m_strDownLoadSetupADDR,ss,sizeof(m_msgSendToClient.m_strDownLoadSetupADDR)-1);
	m_msgSendToClient.m_strDownLoadSetupADDR[sizeof(m_msgSendToClient.m_strDownLoadSetupADDR)-1] = '\0';

	ss = cfgGetValue(cfgHandle,"GateServer","DownLoadUpdatepURL","");//客户端更新程序下载页WEB地址
	strncpy(m_msgSendToClient.m_strDownLoadUpdatepADDR,ss,sizeof(m_msgSendToClient.m_strDownLoadUpdatepADDR)-1);
	m_msgSendToClient.m_strDownLoadUpdatepADDR[sizeof(m_msgSendToClient.m_strDownLoadUpdatepADDR)-1] = '\0';

	ss = cfgGetValue(cfgHandle,"GateServer","RallAddvtisFlashURL","");//客户端大厅FLASH广告下载页WEB地址
	strncpy(m_msgSendToClient.m_strRallAddvtisFlashADDR,ss,sizeof(m_msgSendToClient.m_strRallAddvtisFlashADDR)-1);
	m_msgSendToClient.m_strRallAddvtisFlashADDR[sizeof(m_msgSendToClient.m_strRallAddvtisFlashADDR)-1] = '\0';

	ss = cfgGetValue(cfgHandle,"GateServer","RoomRollWords","欢迎来到泊众棋牌游游戏中心!");//客户端滚动条广告地址
	
	//wushuqun 2009.6.5
	strncpy(m_msgSendToClient.m_strRoomRollADDR,ss,sizeof(m_msgSendToClient.m_strRoomRollADDR)-1);
	m_msgSendToClient.m_strRoomRollADDR[sizeof(m_msgSendToClient.m_strRoomRollADDR)-1] = '\0';

	m_msgSendToClient.m_nIsUsingIMList = cfgGetValue(cfgHandle,"GateServer","UsingIMList",1);

	//大厅左上角是显示ID号还是魅力值
	m_msgSendToClient.m_nHallInfoShowClass=cfgGetValue(cfgHandle,"GateServer","HallInforShowClass",0);

    m_msgSendToClient.m_is_haveZhuanZhang = cfgGetValue(cfgHandle,"GateServer","IsHaveZhuanZhang",0);
	//m_MainserverList.LoadServerList(cfgHandle);

	cfgClose(cfgHandle);

	GetFunction(); ///< 获取服务器使用的功能

	//CString s=CINIFile::GetAppPath ();
	//CINIFile f( s + "CenterServer.ini");
	//#define len(l1,l2)  ( (l1).GetLength () > (l2 ) ? (l2) : ((l1).GetLength ()))
	//////主服务器端口号
	//s=f.GetKeyVal ("www.BZW.cn","BZW","");//服务器参数模式,其实这个应该从客户端获取,客户端要什么模式的参数,就发什么模式的参数
	//m_msgSendToClient.m_iMainserverPort=f.GetKeyVal (s,"m_iMainserverPort",6800);

	//ss=f.GetKeyVal (s,"SerialNO","");//
	//memcpy(m_msgSendToClient.m_strGameSerialNO,ss,len(ss,20)  );//ss.GetLength ());

	//ss=f.GetKeyVal (s,"m_strMainserverIPAddr","");//
	//memcpy(m_msgSendToClient.m_strMainserverIPAddr,ss,len(ss,20)  );

	//ss=f.GetKeyVal (s,"m_strHomeADDR","");//
	//memcpy(m_msgSendToClient.m_strHomeADDR,ss,len(ss,50)  );

	//ss=f.GetKeyVal (s,"m_strWebRootADDR","");//
	//memcpy(m_msgSendToClient.m_strWebRootADDR,ss,len(ss,50)  );

	//ss=f.GetKeyVal (s,"m_strHelpADDR","");//
	//memcpy(m_msgSendToClient.m_strHelpADDR,ss,len(ss,50)  );

	//ss=f.GetKeyVal (s,"m_strDownLoadSetupADDR","123");////
	//memcpy(m_msgSendToClient.m_strDownLoadSetupADDR,ss,len(ss,50)  );

	//ss=f.GetKeyVal (s,"m_strDownLoadUpdatepADDR","123");//
	//memcpy(m_msgSendToClient.m_strDownLoadUpdatepADDR,ss,len(ss,50)  );

	//ss=f.GetKeyVal (s,"m_strRallAddvtisFlashADDR","123");//
	//memcpy(m_msgSendToClient.m_strRallAddvtisFlashADDR,ss,len(ss,50)  );

	//ss=f.GetKeyVal (s,"m_strRoomRollADDR","欢迎来到福乐游游戏中心!");////客户端滚动条广告地址
	//memcpy(m_msgSendToClient.m_strRoomRollADDR,ss,len(ss,100)  );
	//
	////大厅左上角是显示ID号还是魅力值
	//m_msgSendToClient.m_nHallInfoShowClass=f.GetKeyVal(s,"HallInforShowClass",0);

	//m_MainserverList.ReadINIFile(s);

//	OutputFun("加载配置文件成功!");
}
예제 #7
0
bool checkLicense()
{
	CString strcpuid = GetCPUID();

	unsigned char szMDTemp[16];
	MD5_CTX Md5;
	Md5.MD5Update((unsigned char *)strcpuid.GetBuffer(),strcpuid.GetLength());
	Md5.MD5Final(szMDTemp);

	char m_szMD5Pass[50];
	for (int i = 0; i < 16; i ++) 
		wsprintf(&m_szMD5Pass[i * 2], "%02x", szMDTemp[i] );
	CString StrMd5CpuID = m_szMD5Pass;

	DWORD cfgHandle=cfgOpenFile("core.bcf");
	if(cfgHandle<0x10)
		return false;
	CString license = cfgGetValue(cfgHandle,"License","License","");
	cfgClose(cfgHandle);

	yxyDES des;
	string key = strcpuid.GetBuffer();
	des.InitializeKey(key);


	des.DecryptAnyLength(license.GetBuffer());
	string strtmp = des.GetPlaintextAnyLength();
	string lsecpuid;
	string date;
	if (strtmp.length() == 40)
	{
		lsecpuid = strtmp.substr(0, 32);
		date = strtmp.substr(32, 40);
	}



	string lcs = m_szMD5Pass;

	CTime tmnow = CTime::GetCurrentTime();
	string strNow = tmnow.Format("%Y%m%d").GetBuffer();


	if (lcs == lsecpuid &&  strNow <= date)
		return true;
	else
	{
		CString s;
		s.Format("您的服务器未注册或已过期,请与服务商联系。\n\n请将以下机器码发送给服务商,获取注册码文件:\n\n%s\n\n",strcpuid.GetBuffer());
		MessageBox(NULL, s,"提示",MB_ICONERROR);

		s="机器码已复制到您的剪贴板中,直接Ctrl+V粘贴机器码!";
		MessageBox(NULL, s,"提示",MB_ICONINFORMATION);

		OpenClipboard(NULL);
		EmptyClipboard();
		HANDLE hData=GlobalAlloc(GMEM_MOVEABLE, strcpuid.GetLength()+5); 
		if (hData==NULL)  
		{ 
			CloseClipboard(); 
			return TRUE; 
		}
		LPTSTR szMemName=(LPTSTR)GlobalLock(hData); 
		lstrcpy(szMemName,strcpuid); 
		SetClipboardData(CF_TEXT,hData); 
		GlobalUnlock(hData);  
		GlobalFree(hData); 
		CloseClipboard(); 
		return false;
	}
}