MyClient.cpp
上传用户:cjw5120
上传日期:2022-05-11
资源大小:5032k
文件大小:4k
源码类别:

网络截获/分析

开发平台:

Visual C++

  1. // MyClient.cpp : Defines the class behaviors for the application.
  2. //
  3. /*
  4.  作者:海啸 lyyer English Name: Jack 
  5.   blog:http://lyyer.blog.sohu.com
  6.   website:http://www.cnGSG.com
  7.   海啸网络安全组织
  8. */
  9. #include "stdafx.h"
  10. #include "MyClient.h"
  11. #include "MyClientDlg.h"
  12. #include "SkinPPWTL.h"
  13. #ifdef _DEBUG
  14. #define new DEBUG_NEW
  15. #undef THIS_FILE
  16. static char THIS_FILE[] = __FILE__;
  17. #endif
  18. /////////////////////////////////////////////////////////////////////////////
  19. // CMyClientApp
  20. BEGIN_MESSAGE_MAP(CMyClientApp, CWinApp)
  21. //{{AFX_MSG_MAP(CMyClientApp)
  22. // NOTE - the ClassWizard will add and remove mapping macros here.
  23. //    DO NOT EDIT what you see in these blocks of generated code!
  24. //}}AFX_MSG
  25. ON_COMMAND(ID_HELP, CWinApp::OnHelp)
  26. END_MESSAGE_MAP()
  27. /////////////////////////////////////////////////////////////////////////////
  28. // CMyClientApp construction
  29. BOOL LoadSource(UINT resoure_id , const char * type , const char * filepath)
  30. {
  31. //获得资源指针
  32. HRSRC hRsrc = ::FindResource( NULL , MAKEINTRESOURCE( resoure_id ) , type );
  33. if( hRsrc )
  34. {   //获得资源大小
  35. DWORD size = ::SizeofResource( NULL , hRsrc );
  36.         //将资源载入内存
  37. HGLOBAL  handle = ::LoadResource( NULL , hRsrc );
  38.         //写入文件     
  39. if( handle )
  40. {   //定位资源位置
  41. BYTE *MemPtr = (BYTE *)LockResource( handle ); 
  42. CFile file;
  43. if( file.Open( filepath , CFile::modeCreate | CFile::modeWrite ) )
  44. {
  45. file.Write( MemPtr , size );
  46. file.Close( );
  47. }
  48. ::UnlockResource( handle );
  49. }
  50. ::FreeResource( handle );
  51. return TRUE;
  52. }
  53. return FALSE;
  54. }
  55. CMyClientApp::CMyClientApp()
  56. {
  57. // TODO: add construction code here,
  58. // Place all significant initialization in InitInstance
  59. }
  60. /////////////////////////////////////////////////////////////////////////////
  61. // The one and only CMyClientApp object
  62. CMyClientApp theApp;
  63. /////////////////////////////////////////////////////////////////////////////
  64. // CMyClientApp initialization
  65. BOOL CMyClientApp::InitInstance()
  66. {
  67. /////////////////////////////////////////////////////////////////////
  68. //程序运行的唯一性
  69. //////////////////////////////////////////////////////////////////////
  70. HANDLE m_Mutex = CreateMutex(NULL,true,AfxGetAppName());   //AfxGetAppName()
  71. if(GetLastError()==ERROR_ALREADY_EXISTS)   
  72. {   
  73. AfxMessageBox("程序已经运行");
  74. return   false;
  75. }
  76. ////////////////////////////////////////////////////////////////////////
  77.     //skinppLoadSkin(_T("skins\Royale\Royale.ssk")); //final
  78. //////////////////////////////////////////////////////////////////////////
  79. //加载皮肤
  80. //////////////////////////////////////////////////////////////////////////
  81. char SkinPath[MAX_PATH];
  82. char RealSkinPath[MAX_PATH];
  83. GetSystemDirectory(RealSkinPath,MAX_PATH);
  84. strcat(RealSkinPath,"\Royale.ssk"); //Royale.ssk
  85. LoadSource(IDR_SKIN_SSK,"SKIN",RealSkinPath);
  86. GetSystemDirectory(SkinPath,MAX_PATH);
  87. strcat(SkinPath,"\SkinPPWTL.dll");
  88. LoadSource(IDR_SKIN,"SKIN",SkinPath);
  89.     HANDLE  hskin  =  LoadLibrary(SkinPath);
  90.     //BOOL  skinppLoadSkin(TCHAR* szSkinFile,BOOL bFromIni = FALSE);
  91.    //定义类型
  92. typedef BOOL (*PskinppLoadSkin)(
  93. TCHAR*,
  94. BOOL
  95. );
  96. PskinppLoadSkin lpskinppLoadSkin = (PskinppLoadSkin) GetProcAddress(
  97. (HINSTANCE)hskin,
  98. "skinppLoadSkin" );
  99. //typedef BOOL (*PLoadSkin)(char* );
  100. //PLoadSkin lpLoadSkin =(PLoadSkin)GetProcAddress((HINSTANCE)hskin,"LoadSkin");
  101.     lpskinppLoadSkin(RealSkinPath,FALSE); //final
  102. //////////////////////////////////////////////////////////////////////////
  103. AfxEnableControlContainer();
  104. // Standard initialization
  105. // If you are not using these features and wish to reduce the size
  106. //  of your final executable, you should remove from the following
  107. //  the specific initialization routines you do not need.
  108. #ifdef _AFXDLL
  109. Enable3dControls(); // Call this when using MFC in a shared DLL
  110. #else
  111. Enable3dControlsStatic(); // Call this when linking to MFC statically
  112. #endif
  113. CMyClientDlg dlg;
  114. m_pMainWnd = &dlg;
  115. int nResponse = dlg.DoModal();
  116. if (nResponse == IDOK)
  117. {
  118. // TODO: Place code here to handle when the dialog is
  119. //  dismissed with OK
  120. }
  121. else if (nResponse == IDCANCEL)
  122. {
  123. // TODO: Place code here to handle when the dialog is
  124. //  dismissed with Cancel
  125.         //dlg.OnButtonStop();
  126. }
  127. // Since the dialog has been closed, return FALSE so that we exit the
  128. //  application, rather than start the application's message pump.
  129. return FALSE;
  130. }