// Welcome.cpp : implementation file // #include "stdafx.h" #include "ylgl.h" #include "Welcome.h" ///////////////////////////////////////////////////////////////////////////// // Welcome dialog Welcome::Welcome(CWnd* pParent /*=NULL*/) : CDialog(Welcome::IDD, pParent) { //{{AFX_DATA_INIT(Welcome) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT m_pBk = NULL; g_bNoConnDlg = 1; m_bFirst = 1; } void Welcome::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(Welcome) // NOTE: the ClassWizard will add DDX and DDV calls here //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(Welcome, CDialog) //{{AFX_MSG_MAP(Welcome) ON_WM_PAINT() ON_WM_DESTROY() ON_WM_ERASEBKGND() ON_WM_TIMER() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // Welcome message handlers BOOL Welcome::OnEraseBkgnd(CDC* pDC) { // TODO: Add your message handler code here and/or call default if (m_pBk) { Graphics graph(pDC->GetSafeHdc()); CRect rc; GetClientRect(rc); Rect destinationRect(0, 0, rc.Width(), rc.Height()); graph.DrawImage(m_pBk, destinationRect, rc.left, rc.top, rc.Width(), rc.Height(), UnitPixel); } if (m_bFirst) { m_bFirst = 0; m_nticks = ::GetTickCount(); SetTimer(1, 10, NULL); } return 1; } void Welcome::OnCancel() { // TODO: Add extra cleanup here } void Welcome::OnOK() { // TODO: Add extra validation here } void Welcome::OnPaint() { CPaintDC dc(this); // device context for painting // TODO: Add your message handler code here if (m_pBk) { Graphics graph(dc.GetSafeHdc()); CRect rc; GetClientRect(rc); Rect destinationRect(0, 0, rc.Width(), rc.Height()); graph.DrawImage(m_pBk, destinationRect, rc.left, rc.top, rc.Width(), rc.Height(), UnitPixel); } if (m_bFirst) { m_bFirst = 0; m_nticks = ::GetTickCount(); SetTimer(1, 10, NULL); } // Do not call CDialog::OnPaint() for painting messages } void Welcome::OnDestroy() { // TODO: Add your message handler code here if (m_pBk) delete m_pBk; g_bNoConnDlg = 0; CDialog::OnDestroy(); } extern void SaveImageToFile(Image *img, CString path); BOOL Welcome::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here CString picdir = g_mainpath + "\\ͼƬ\\"; if (g_bRedSkin) picdir = g_mainpath + "\\ͼƬ-��ɫ���\\"; //MessageBox(picdir+"��ӭ.jpg"); // .Jeff���ػ�ӭͼƬ,��Ϊ��ӭ����; if (::PathFileExists(picdir + "��ӭ.jpg") == 0) { if (0)//::PathFileExists (g_mainpath+"\\zx.dll")) { HINSTANCE hinst = ::LoadLibrary(g_mainpath + "\\zx.dll"); if (hinst == NULL) { ::LoadImageFromRes(&m_pBk, MAKEINTRESOURCE(IDR_JPG4), "JPG"); } else { AfxSetResourceHandle(hinst); ::LoadImageFromRes(&m_pBk, MAKEINTRESOURCE(2009), "ZX"); AfxSetResourceHandle(AfxGetInstanceHandle()); FreeLibrary(hinst); } } else if (::PathFileExists(g_mainpath + "\\zwj.dll")) { HINSTANCE hinst = ::LoadLibrary(g_mainpath + "\\zwj.dll"); if (hinst == NULL) { ::LoadImageFromRes(&m_pBk, MAKEINTRESOURCE(IDR_JPG4), "JPG"); } else { AfxSetResourceHandle(hinst); ::LoadImageFromRes(&m_pBk, MAKEINTRESOURCE(2009), "ZWJ"); AfxSetResourceHandle(AfxGetInstanceHandle()); FreeLibrary(hinst); } } else ::LoadImageFromRes(&m_pBk, MAKEINTRESOURCE(IDR_JPG4), "JPG"); } else ::LoadImageFromBuf(&m_pBk, picdir + "��ӭ.jpg"); if (m_pBk) { CRect rc; GetWindowRect(rc); rc.right = rc.left + m_pBk->GetWidth(); rc.bottom = rc.top + m_pBk->GetHeight(); MoveWindow(rc); CenterWindow(); // ���ð汾��; CString str; str.Format("%02d%02d", g_arrFileVersion[2], g_arrFileVersion[3]); Graphics graph(m_pBk); StringFormat format; format.SetAlignment(StringAlignmentNear); RectF layoutRect(325, 161, 59, 15); SolidBrush *Brush = new SolidBrush(Color(255, 255, 255, 255)); int leng = str.GetLength(); BSTR bstr = str.AllocSysString(); Gdiplus::Font *g_TimerFont; g_TimerFont = new Gdiplus::Font(L"����", 16); graph.SetTextRenderingHint(TextRenderingHintAntiAlias); graph.DrawString( bstr, leng, g_TimerFont, layoutRect, &format, Brush); delete Brush; delete g_TimerFont; SysFreeString(bstr); } ::AnimateWindow(GetSafeHwnd(), 300, AW_BLEND); SetTimer(2, 1000, NULL); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } //extern int g_conntype; CString GetFileSize(CString path) { CString str = "0"; try { CFile fp; fp.Open(path, CFile::modeRead); str.Format("%d", fp.GetLength()); fp.Close(); } catch (...) { } return str; } void Welcome::OnTimer(UINT nIDEvent) { if (nIDEvent == 1) { int i = 0; KillTimer(1); if (g_bGenBranchData) { WriteTextLog("�����ֵ����"); // 1.Jeff.��ȡ�洢�ڱ��ط�����Ŀ¼�µ�branchinfo.dat�ļ�����; CArray<CStringArray, CStringArray>brancharray; g_sendhead.bsql = 0; g_sendhead.code[0] = 152; // Jeff.152��ȡDBServer.exe����Ŀ¼��branchinfo.dat�ﱣ��ķֵ�����; g_sendhead.tabcount = 1; g_pMainWnd->ProcessChatMessageRequest2(1); if (g_bSendOK == 0)//Jeff.ͨ��ʧ��; { exit(0); return; } DataToArray(&brancharray); // 2.Jeff.��branchinfo.dat���ж�ҷֵ���Ϣ,�����ȫ���ֵ���Ϣ; CString branch, domain; CArray<CStringArray, CStringArray>tagList1array; // ͨ����g_branchip��g_branchname��g_bBranchModify������ֵ,˳�����ӷֵ�,��ȡȫ���ֵ������ȡ������ʷ����; // Ȼ���ٽ���Щ����ȫ�����浽����tagList1array��,����DBServer.exe������branchdindan.dat�ļ��� for ( i = -1; i < brancharray.GetSize() - 1; i++) { //printf("Jeff:branchinfo.dat�ֵ�����=%d,i=%d\n\n",brancharray.GetSize(),i); if (i != -1) { WriteTextLog("ֻ�е���,�ֵ�"); domain = brancharray.ElementAt(i).ElementAt(2); // Jeff.�����*.ly.com��Ϣ; branch = brancharray.ElementAt(i).ElementAt(0); // Jeff.������Ϊ�ֵ������; g_branchip = brancharray.ElementAt(i).ElementAt(1); // Jeff.��������IP��ַ; g_pMainWnd->OnDisconnect(); g_branchname = branch; g_bBranchModify = 1; } else { domain = brancharray.ElementAt(brancharray.GetSize() - 1).ElementAt(2); branch = brancharray.ElementAt(brancharray.GetSize() - 1).ElementAt(0); } // 2.1.��ȡ�������ݿ��dindan����Ϣ:�����š�ȡ��ʱ��, ���͵������������; // ����������Ὣ��Щ��Ϣ�洢�ڷ���Ŀ¼��branchdindan.dat�ļ���; // CString filter = "[status3]='OK' and [time5] is not null and [time5]<>''"; g_sendhead.bsql = 0; g_sendhead.code[0] = 231; // Jeff.case 231->��ȡdb���ݿ��Լ�������ʷ���ݿ��������ȡ���Ķ���; g_sendhead.tabcount = 1; g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)continue; CArray<CStringArray, CStringArray>List1array; DataToArray(&List1array); int size = tagList1array.GetSize(); for (int j = 0; j < List1array.GetSize(); j++) { size++; tagList1array.SetSize(size, 1); size--; tagList1array.ElementAt(size).Copy(List1array.ElementAt(j)); tagList1array.ElementAt(size).InsertAt(0, domain); // Jeff.*.ly.com size++; } } g_pMainWnd->OnDisconnect(); g_bBranchModify = 0; g_branchip = g_branchname = ""; // 3.��domain�������š�ȡ��ʱ�� �洢��tagList1array; // �洢���ڴ���,���͵�������������,�ɷ���������branchdindan.dat�ļ���,����; CMemFile memfile; CArchive ar(&memfile, CArchive::store); for (int ii = 0; ii < tagList1array.GetSize(); ii++) { tagList1array.ElementAt(ii).Serialize(ar); } ar.Close(); int length = memfile.GetLength(); BYTE *pData = memfile.Detach(); int size = tagList1array.GetSize(); BYTE *pData2 = new BYTE[length + sizeof(int)]; memcpy(pData2, pData, length); memcpy(pData2 + length, &size, sizeof(int)); delete[]pData; length += sizeof(int); g_nSendCode = 41; // dwToUserID==41 ���� branchdindan.dat �ļ�; g_pMainWnd->ProcessChatMessageRequest2(pData2, length); g_nSendCode = 0; delete[]pData2; exit(0); return; } BOOL bSuccess = 1; CStringArray filesarray; filesarray.Add("AutoUpdate.exe"); // 1. filesarray.Add("skin\\1.lia"); // 2. filesarray.Add("skin\\2.lia"); // 3. filesarray.Add("skin\\3.lia"); // 4. filesarray.Add("skin\\4.lia"); // 5. filesarray.Add("skin\\5.lia"); // 6. filesarray.Add("skin\\10.lia"); // 7. filesarray.Add("skin\\5-red.lia"); // 8. filesarray.Add("skin\\10-red.lia"); // 9. filesarray.Add("ͼƬ\\logo.jpg"); // 10. filesarray.Add("ͼƬ\\����-ѡƬ.jpg"); // 11. filesarray.Add("ͼƬ\\����-�����.jpg"); // 12. filesarray.Add("ͼƬ\\ѡƬ.jpg"); // 13. filesarray.Add("ͼƬ\\�����.jpg"); // 14. filesarray.Add("ͼƬ\\��ӭ.jpg"); // 15. filesarray.Add("ͼƬ\\����.jpg"); // 16. filesarray.Add("ͼƬ\\����.jpg"); // 17. filesarray.Add("ͼƬ\\����.jpg"); // 18. filesarray.Add("ͼƬ-��ɫ���\\��ӭ.jpg"); // 19. filesarray.Add("ͼƬ-��ɫ���\\����.jpg"); // 20. filesarray.Add("ͼƬ-��ɫ���\\����.jpg"); // 21. filesarray.Add("ͼƬ-��ɫ���\\����.jpg"); // 22. filesarray.Add("skin\\6.lia"); // 23. filesarray.Add("ͼƬ\\���б�.jpg"); // 24. filesarray.Add("regsvr32.exe"); // 25. // Jeff.������Ŀ¼��û��MSCHRT20.OCXʱ,������ʱ�ж��Ƿ�����ļ�,����������ݿ�����; filesarray.Add("MSCHRT20.OCX"); // 26. // Jeff.2014.09.06.����MSCHRT20.OCX,�ɷ���������; ::CreateDirectory(g_mainpath + "\\skin", NULL); ::CreateDirectory(g_mainpath + "\\ͼƬ", NULL); ::CreateDirectory(g_mainpath + "\\ͼƬ-��ɫ���", NULL); // 1.Jeff.array������������,ǰ�벿�ֱ������ļ�·����,��벿�ֱ������ϰ벿���ļ��Ĵ�С; CStringArray array; array.Copy(filesarray); for ( i = 0; i < filesarray.GetSize(); i++) { array.Add(GetFileSize(g_mainpath + "\\" + filesarray.ElementAt(i)));; } // 2.��array���ڴ��ļ�����,��Ϊ����������������ͨ��; { CMemFile memfile; CArchive ar(&memfile, CArchive::store); array.Serialize(ar); ar.Close(); DWORD length = memfile.GetLength(); BYTE *pData = memfile.Detach(); #if 0 // Jeff.ԭ ll: g_nSendCode=211;//Jeff.�Ѿ�û�õ����goto��; #else g_nSendCode = 211;//g_nSendCode=211: ���� \�����\skin\ �ļ����µĴ�С������ļ����ͻ���ȥ; #endif //printf("Jeff:welcome�ļ�����211\n\n");//Jeff Printf; g_pMainWnd->ProcessChatMessageRequest2(pData, length); //printf("Jeff:welcome1111�ļ�����211\n\n");//Jeff Printf; if (g_bSendOK == 0) { //AfxMessageBox("2"); //printf("Jeff:welcome�ļ�����ʧ��\n\n");//Jeff Printf; exit(0); return; } //printf("Jeff:welcome�ļ����³ɹ�\n\n");//Jeff Printf; g_nSendCode = 0; delete[]pData; if (g_bSendOK == 0) // Jeff.ǰ�涼exit��return��,���滹����ô???? { bSuccess = 0; CDialog::OnCancel(); g_pMainWnd->m_pMainFrimDlg2 = new MainFrimDlg2; g_pMainWnd->m_pMainFrimDlg2->SetLiaPath("10.lia"); // Jeff.remak.2014.06.26 // MainFrimDlg2::Create������MyDlg::OnInitDialog(),���ŵ���LoadLia() // LoadLia()�ٵ���GetPos(),GetPost()������ProcessChatMessageRequest2:code[0]=105 g_pMainWnd->m_pMainFrimDlg2->Create(IDD_DLGmydlg, g_pMainWnd); return; } } //printf("Jeff:welcome1112323232323232323\n\n");//Jeff Printf; // Jeff.g_pData2�ﱣ����Ǹ��µ�����; BYTE *pData[40] = { NULL }; DWORD nDataLeng[40] = { 0 }; BYTE *pSumData = g_pData2; DWORD sumleng = g_nLeng2; //printf("Jeff:sumleng=%d,g_pData2=%d\n\n",sumleng,g_pData2);//Jeff Printf; CStringArray filedatearray; DWORD nArrayLength; memcpy(&nArrayLength, pSumData, sizeof(DWORD)); CMemFile memfile; memfile.Attach(pSumData + sizeof(DWORD), nArrayLength); CArchive ar(&memfile, CArchive::load); filedatearray.Serialize(ar); ar.Close(); memfile.Detach(); //printf("Jeff:welcome1112323232323232323\n\n");//Jeff Printf; // Jeff. DWORD bytesread = 0; DWORD a; int pos = 0; CString stime; //printf("Jeff:welcome11111111111111\n\n");//Jeff Printf; for (i = 0; i < 40; i++) { memcpy(&a, pSumData + sizeof(DWORD)*i + nArrayLength + sizeof(DWORD), sizeof(DWORD)); nDataLeng[i] = a; if (a) { //if( i == 25 ) printf("Jeff:%s\n\n",g_mainpath+"\\"+filesarray.ElementAt(i)); CFile fp; if (fp.Open(g_mainpath + "\\" + filesarray.ElementAt(i), CFile::modeCreate | CFile::modeWrite)) { fp.Write(pSumData + sizeof(DWORD) * 40 + bytesread + nArrayLength + sizeof(DWORD), a); bytesread += a; fp.Close(); stime = filedatearray.ElementAt(pos); pos++; if (i == 25) { CString temp; temp.Format("%s\\MSCHRT20.OCX", g_mainpath); RegisterOcx(temp); } } else { bSuccess = 0; break; } } } //if( g_server.Find ("192.168.10.")!=-1 )::Sleep(3000); if (g_pData2) delete[]g_pData2; g_pData2 = NULL; g_pMainWnd->m_pMainFrimDlg2 = new MainFrimDlg2; g_pMainWnd->m_pMainFrimDlg2->SetLiaPath("10.lia"); //printf("Jeff:welcome��ȡ case 218 client��\n\n"); // Jeff.remak.2014.06.26 // MainFrimDlg2::Create������MyDlg::OnInitDialog(),���ŵ���LoadLia() // LoadLia()�ٵ���GetPos(),GetPost()������ProcessChatMessageRequest2:code[0]=105 // case 105:����; // case 218:client��; g_pMainWnd->m_pMainFrimDlg2->Create(IDD_DLGmydlg, g_pMainWnd); g_sendhead.bsql = 0; // AfxMessageBox("6"); g_sendhead.code[0] = 218; g_sendhead.tabcount = 1; // if( g_server.Find ("192.168.10.")!=-1 )::Sleep(3000); g_pMainWnd->ProcessChatMessageRequest2(1); if (g_bSendOK == 0) { //AfxMessageBox("7"); exit(0); return; } //AfxMessageBox("8"); DataToArray(&g_oldclientarray); if (::GetTickCount() - m_nticks < 2000) ::Sleep(2000 - (::GetTickCount() - m_nticks)); CDialog::OnCancel(); } else if (nIDEvent == 0) { CRect dlgRect; CRect DesktopRect; GetWindowRect(dlgRect); GetDesktopWindow()->GetWindowRect(DesktopRect); if (dlgRect.Width() >= (dlgWidth - dlgDx)) dlgDx = dlgWidth - dlgRect.Width(); if (dlgRect.Height() >= (dlgHeight - dlgDy)) dlgDy = dlgHeight - dlgRect.Height(); MoveWindow ( (-dlgDx + DesktopRect.Width() - dlgRect.Width()) / 2, (-dlgDy + DesktopRect.Height() - dlgRect.Height()) / 2, +dlgDx + dlgRect.Width(), +dlgDy + dlgRect.Height() ); if ((dlgRect.Width() >= (dlgWidth - dlgDx)) && (dlgRect.Height() >= (dlgHeight - dlgDy))) ::KillTimer(this->m_hWnd, 0); } else if (nIDEvent == 2) { //printf("Jeff:����Welcome�Ի���"); KillTimer(2); CDialog::OnCancel(); } }