SDC C-Project CF Review 프로그램
LYW
2022-04-28 ea996431950e6ecff451bd40d1228f51d077475c
ReviewSystem/ReviewSystem/ReviewInterface.cpp
@@ -162,6 +162,8 @@
{   
   if (m_pDoc==NULL) return FALSE;
   Start3rdPartyProgram();
   CreateDirectory(_REVIEW_SERVER_BASE_PATH_, NULL);
   CreateDirectory(_REVIEW_SERVER_LOG_PATH_, NULL);
   CreateDirectory(_REVIEW_SERVER_CONFIG_PATH_, NULL);
@@ -389,6 +391,8 @@
   DeinitReviewCamera();
   m_ProcessTimer.End();
   
   Terminate3rdPartyProgram();
   if (m_pView)
   {
      m_pView->DeleteDialogs();
@@ -491,8 +495,6 @@
   DeinitSharedImage();
   g_pLog->DisplayMessage(_T("Deinit Shared Image"));
   DeinitTotalPitchMeasure();
   g_pLog->DisplayMessage(_T("Deinit TotalPitch Measure"));
@@ -720,6 +722,54 @@
   //Review S/W Version End
}
/*< LYW 20220426 - #4086 ADD Start >*/
void CReviewInterface::Start3rdPartyProgram()
{
//    if(StartWindowIDProgram(_T("FTPUploader"), _T("D:\\DIT_3rdParty\\FTPUpload\\FTPUploader.exe")))
//       g_pLog->DisplayMessage(_T("FDCFTPUploader Start Success"));
//    else g_pLog->DisplayMessage(_T("FDCFTPUploader Start Fail"));
   if (StartWindowIDProgram(_T("Dit Glass Raw Messenger"), _T("D:\\DIT_3rdParty\\GlassRawMessenger\\DitGlassRawMessenger_x64.exe")))
      g_pLog->DisplayMessage(_T("DitGlassRawMessenger Start Success"));
   else g_pLog->DisplayMessage(_T("DitGlassRawMessenger Start Fail"));
}
int CReviewInterface::StartWindowIDProgram(CString WindowID, CString ProgramPath)
{
   HWND hWnd = ::FindWindow(NULL, WindowID);
   if (hWnd == NULL)
   {
      if(ShellExecute(hWnd, NULL, ProgramPath, NULL, NULL, SW_SHOWMINIMIZED))
         return TRUE;
      else return FALSE;
   }
   return TRUE;
}
void CReviewInterface::Terminate3rdPartyProgram()
{
   /*TerminateWindowIDProgram(_T("FTPUploader"));*/
   TerminateWindowIDProgram(_T("Dit Glass Raw Messenger"));
   TerminateWindowIDProgram(_T("gnuplot"));
   KillProcess("wgnuplot.exe");
}
void CReviewInterface::TerminateWindowIDProgram(CString WindowID)
{
   HWND hWnd = ::FindWindow(NULL, WindowID);
   if (hWnd != NULL)
   {
      DWORD ProcessId;
      GetWindowThreadProcessId(hWnd, &ProcessId);
      HANDLE hProcess = OpenProcess(MAXIMUM_ALLOWED, FALSE, ProcessId);
      if (hProcess != NULL)
      {
         TerminateProcess(hProcess, 0);
      }
   }
}
/*< LYW 20220426 - #4086 ADD End >*/
/*< LYW 20220415 - #4086 ADD End >*/
void CReviewInterface::CreateSystemDirectory()