// SmsCenter.cpp : Defines the class behaviors for the application. // #include "stdafx.h" #include "SmsCenter.h" #include "SmsCenterDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CSmsCenterApp #include #include "..\public\MiniDmp\MiniDmp.h" BEGIN_MESSAGE_MAP(CSmsCenterApp, CWinApp) //{{AFX_MSG_MAP(CSmsCenterApp) // NOTE - the ClassWizard will add and remove mapping macros here. // DO NOT EDIT what you see in these blocks of generated code! //}}AFX_MSG ON_COMMAND(ID_HELP, CWinApp::OnHelp) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CSmsCenterApp construction CSmsCenterApp::CSmsCenterApp() { // TODO: add construction code here, // Place all significant initialization in InitInstance } ///////////////////////////////////////////////////////////////////////////// // The one and only CSmsCenterApp object CSmsCenterApp theApp; ///////////////////////////////////////////////////////////////////////////// // CSmsCenterApp initialization //#include "..\..\shou-e\RN_Eri\blowfish_Eri.h" BOOL CSmsCenterApp::InitInstance() { /* int a = sizeof(long); int b = sizeof(float); int c = sizeof(double); int d=sizeof(UCHAR); int e=sizeof(int); */ #if _MSC_VER>=1300 #ifdef _M_IX86 #ifndef _DEBUG GPTSetSetUnhandledExceptionFilter(); //启用错误拦截 #endif #endif #endif AfxEnableControlContainer(); //CoInitialize(NULL); CoInitializeEx( NULL , COINIT_MULTITHREADED ); // Standard initialization // If you are not using these features and wish to reduce the size // of your final executable, you should remove from the following // the specific initialization routines you do not need. #ifdef _AFXDLL Enable3dControls(); // Call this when using MFC in a shared DLL #else Enable3dControlsStatic(); // Call this when linking to MFC statically #endif /* if ( FindProcess(_T("SmsCenter.exe"))>1 ) { int iRet = MessageBox(NULL,_T("已启动了短信服务器监控程序,可能处于不同的用户,请检查!\r\n是否继续启动?") , _T("提问") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 ); if ( iRet != IDYES ) return false; } */ CSmsCenterDlg dlg; m_pMainWnd = &dlg; int nResponse = dlg.DoModal(); if (nResponse == IDOK) { // TODO: Place code here to handle when the dialog is // dismissed with OK } else if (nResponse == IDCANCEL) { // TODO: Place code here to handle when the dialog is // dismissed with Cancel } // Since the dialog has been closed, return FALSE so that we exit the // application, rather than start the application's message pump. return FALSE; } int CSmsCenterApp::ExitInstance() { CoUninitialize(); return CWinApp::ExitInstance(); } long CSmsCenterApp::FindProcess(const TCHAR *pName) { long lCount=0; BOOL bReBoot = false; DWORD aProcesses[1024], cbNeeded, cProcesses; unsigned int i; //枚举系统进程ID列表 if ( EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) ) { // Calculate how many process identifiers were returned. //计算进程数量 cProcesses = cbNeeded / sizeof(DWORD); // 输出每个进程的名称和ID TCHAR szProcessName[MAX_PATH]={0}; for ( i = 0; i < cProcesses; i++ ) { memset( szProcessName ,0, sizeof(szProcessName) ); CSmsCenterDlg::GetProcessNameAndID( aProcesses[i],szProcessName); //if ( !strcmp( szProcessName , pName ) ) //查找Dh2000的进程名 if ( !_tcsncmp( szProcessName , pName , _tcslen(pName) ) ) //查找Dh2000的进程名 { lCount ++; } } } return lCount; }