| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- #include "stdafx.h"
- #include "SATService.h"
- #include "MainProcess.h"
- #include "SATExecutor.h"
- #include "SATDevices.h"
- #include "SATTCPServer.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #endif
- CWinApp theApp;
- using namespace std;
- extern int test();
- void CALLBACK WorkStart()
- {
- WindowsService::GetDebugPriv();
- #ifdef _DEBUG
- CSATExecutor::GetInstance()->Login("superAdmin", "123456", "SAT-Admin");
- CSATExecutor::GetInstance()->UpdateDevice();
- #endif
-
- CSATExecutor::GetInstance()->StartWork();
-
- CSATTCPServer::GetInstance()->LoadSocketLib();
- CSATTCPServer::GetInstance()->Start(5588);
-
- CSATDevices::GetInstance()->StartWork();
- }
- void CALLBACK WorkEndof()
- {
- Global::WriteTextLog("SATService goto end");
- CSATTCPServer::GetInstance()->Stop();
- CSATTCPServer::GetInstance()->UnloadSocketLib();
- CMainProcess::GetInstance()->EndofWork();
- Global::WriteTextLog("SATService work end!");
- }
- int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
- {
- int nRetCode = 0;
-
- HWND hwnd = GetForegroundWindow();
- SendMessage(hwnd , WM_SETICON, ICON_SMALL, (LPARAM)LoadIcon(NULL,MAKEINTRESOURCE(IDI_MICON)));
- HMODULE hModule = ::GetModuleHandle(NULL);
-
- if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
- {
-
- _tprintf(_T("错误: MFC 初始化失败\n"));
- nRetCode = 1;
- }
- else
- {
-
- Global::GetIniInfo();
- Global::GetMacAddress();
- Global::WriteTextLog("SATService goto start");
- #ifdef _DEBUG
- #if 0
-
- CSATExecutor::GetInstance()->Login("superAdmin", "123456");
- CSATExecutor::GetInstance()->UpdateDevice();
- CSATExecutor::GetInstance()->StartWork();
- #endif
- #if 1
-
- CSATTCPServer::GetInstance()->LoadSocketLib();
- CSATTCPServer::GetInstance()->Start(5599);
- #endif
- #if 1
- CSATDevices::GetInstance()->StartWork();
- #endif
-
- ULONGLONG ulTickCount = GetTickCount64();
- while (GetTickCount64() - ulTickCount < 1800000 )
- {
-
-
- Sleep(100);
- }
-
- return 0;
- #endif
-
- TCHAR szExeName[MAX_PATH] = {0};
- TCHAR szDrive[_MAX_DRIVE] = { 0 };
- TCHAR szDir[_MAX_DIR] = { 0 };
- TCHAR szFna[_MAX_FNAME] = { 0 };
- TCHAR szExt[_MAX_EXT] = { 0 };
- _tsplitpath_s(Global::g_szCurModuleFileName, szDrive, szDir, szFna, szExt);
- _stprintf_s(szExeName, _T("%s%s"), szFna, szExt);
- if ( Global::FindProcessCount(szExeName) > 1)
- {
- return 0;
- }
-
- _stprintf_s(WindowsService::g_szSvcName, _T("SAT Service"));
- _stprintf_s(WindowsService::g_szlpSvrDescription, _T("SAT自动化服务"));
-
- if ( WindowsService::IsSvcInstalled())
- {
-
- if ( argc > 1)
- {
- if (_tcscmp((TCHAR *)argv[1], _T("/uninstall")) == 0)
- WindowsService::DoDeleteSvc(WindowsService::g_szSvcName);
- else
- _tprintf_s(_T("未有卸载服务参数行\n"));
- return 0;
- }
- else
- {
- WindowsService::InitSvcVar();
- WindowsService::SetCallBack(WorkStart, WorkEndof);
- SERVICE_TABLE_ENTRY st[] =
- {
- { WindowsService::g_szSvcName, (LPSERVICE_MAIN_FUNCTION)WindowsService::ServiceMain },
- { NULL, NULL }
- };
- if (!::StartServiceCtrlDispatcher(st))
- {
-
- WindowsService::SvcReportEvent(_T("Register Service Main Function Error!"));
- return 0;
- }
- }
- }
-
- WindowsService::InitSvcVar();
- WindowsService::SetCallBack(WorkStart, WorkEndof);
- SERVICE_TABLE_ENTRY st[] =
- {
- { WindowsService::g_szSvcName, (LPSERVICE_MAIN_FUNCTION)WindowsService::ServiceMain },
- { NULL, NULL }
- };
- WindowsService::SvcInstall();
- }
- return nRetCode;
- }
|