SDC C-Project CF Review 프로그램
KEJ
2023-11-24 9020bfb6f86ff853d5d5b3cee882132a244232da
ReviewSystem/ReviewSystem/stdafx.h
@@ -38,6 +38,9 @@
#include "CHReviewResult/GlassResult.h"
#include "CHReviewSetting/MotorParameter.h"
#include <DbgHelp.h>
#pragma comment ( lib, "DbgHelp" )
#include <WinNetWk.h>
//#pragma comment(lib,"Mpr.lib")
@@ -74,19 +77,33 @@
#define ID_TIMER_SEND_SIGNAL_ALIVE         (WM_USER + 107)
#define _REVIEW_SERVER_BASE_PATH_               _T("C:\\DIT_Review")
#define _REVIEW_SERVER_LOG_PATH_               _T("C:\\DIT_Review\\ReviewServerLog")
#define _REVIEW_RECIPE_PATH_                  _T("C:\\DIT_Review\\Recipe")
#define _REVIEW_REF_RECIPE_PATH_               _T("C:\\DIT_Review\\Recipe\\Reference")
#define _REVIEW_SERVER_CONFIG_PATH_               _T("C:\\DIT_Review\\ReviewServerConfig")
#define _REVIEW_SERVER_SYSTEM_SETTING_FILE_PATH_   _T("C:\\DIT_Review\\ReviewServerConfig\\SystemSetting.cfg")
#define _REVIEW_SERVER_BASE_PATH_               _T("D:\\DIT_Review") //210805
#define _REVIEW_SERVER_LOG_PATH_               _T("D:\\DIT_Review\\ReviewServerLog")
#define _REVIEW_RECIPE_PATH_                  _T("D:\\DIT_Review\\Recipe")
#define _REVIEW_REF_RECIPE_PATH_               _T("D:\\DIT_Review\\Recipe\\Reference")
#define _REVIEW_SERVER_CONFIG_PATH_               _T("D:\\DIT_Review\\ReviewServerConfig")
#define _REVIEW_SERVER_SYSTEM_SETTING_FILE_PATH_   _T("D:\\DIT_Review\\ReviewServerConfig\\SystemSetting.cfg")
#define _SYSTEM_SETTING_TITLE_                  _T("ReviewSystemSetting")
#define _RECIPE_EDITOR_TITLE_                  _T("ReviewRecipeEditor")
#define _REVIEW_LOGIN_LOG_PATH_                  _T("C:\\DIT_Review\\ReviewServerLog\\LoginLog")
#define _REVIEW_REFLOW_RECIPE_PATH_               _T("C:\\DIT_Review\\Recipe\\Reflow")
#define ALIGN_TEMPLATE_PATH                     _T("C:\\DIT_Review\\Recipe\\AlignImage")
#define _REVIEW_LOGIN_LOG_PATH_                  _T("D:\\DIT_Review\\ReviewServerLog\\LoginLog")
#define _REVIEW_REFLOW_RECIPE_PATH_               _T("D:\\DIT_Review\\Recipe\\Reflow")
#define ALIGN_TEMPLATE_PATH                     _T("D:\\DIT_Review\\Recipe\\AlignImage")
#define _REVIEW_RECIPE_BACKUP_PATH_CPJT            _T("\\\\126.100.100.5\\d\\DIT Back up\\DIT Review\\Recipe")
#define _REVIEW_SERVER_SYSTEM_SETTING_BACKUP_PATH_CPJT   _T("\\\\126.100.100.5\\d\\DIT Back up\\DIT Review\\ReviewServerConfig")
//#define _REVIEW_SERVER_BASE_PATH_               _T("C:\\DIT_Review")
//#define _REVIEW_SERVER_LOG_PATH_               _T("C:\\DIT_Review\\ReviewServerLog")
//#define _REVIEW_RECIPE_PATH_                  _T("C:\\DIT_Review\\Recipe")
//#define _REVIEW_REF_RECIPE_PATH_               _T("C:\\DIT_Review\\Recipe\\Reference")
//#define _REVIEW_SERVER_CONFIG_PATH_               _T("C:\\DIT_Review\\ReviewServerConfig")
//#define _REVIEW_SERVER_SYSTEM_SETTING_FILE_PATH_   _T("C:\\DIT_Review\\ReviewServerConfig\\SystemSetting.cfg")
//#define _SYSTEM_SETTING_TITLE_                  _T("ReviewSystemSetting")
//#define _RECIPE_EDITOR_TITLE_                  _T("ReviewRecipeEditor")
//#define _REVIEW_LOGIN_LOG_PATH_                  _T("C:\\DIT_Review\\ReviewServerLog\\LoginLog")
//#define _REVIEW_REFLOW_RECIPE_PATH_               _T("C:\\DIT_Review\\Recipe\\Reflow")
//#define ALIGN_TEMPLATE_PATH                     _T("C:\\DIT_Review\\Recipe\\AlignImage")
//#define _REVIEW_RECIPE_BACKUP_PATH_CPJT            _T("\\\\126.100.100.5\\d\\DIT Back up\\DIT Review\\Recipe")
//#define _REVIEW_SERVER_SYSTEM_SETTING_BACKUP_PATH_CPJT   _T("\\\\126.100.100.5\\d\\DIT Back up\\DIT Review\\ReviewServerConfig")
#define TOTAL_WINDOW_SIZE_X      1920
@@ -164,7 +181,25 @@
#define  WM_OFFSETTOOL_MESSAGE2 (WM_USER + 9998)
#define  WM_OFFSETTOOL_MESSAGE (WM_USER + 9999)
/* < KEJ 20230621 - #4528 ADD Start > */
enum OFFSETCOUNT {
   CAM_MAX_COUNT = 20, XPOS_MAX_COUNT = 10, YPOS_MAX_COUNT = 10, SCAN_MAX_COUNT = 10, AOI_MAX_COUNT = 10, PROGRESS_BAR_MAX = 2000
};
enum COLORTYPE {
   FFA7A7 = RGB(255, 167, 167),
   FFC19E = RGB(255, 193, 158),
   FFE08C = RGB(255, 224, 140),
   FAED7D = RGB(250, 237, 125),
   FFB2F5 = RGB(255, 178, 245),
   A566FF = RGB(165, 102, 255),
   D9418C = RGB(217, 65, 140),
   A00D8FF = RGB(0, 216, 255),
   A2F9D27 = RGB(47, 157, 39),
   A4641D9 = RGB(70, 65, 217)
};
/* < KEJ 20230621 - #4528 ADD End > */
#include <GdiPlus.h>
using namespace Gdiplus;
@@ -184,7 +219,9 @@
#define   COPYDATA_SYSTEMSETTING2REVIEWSYSTEM         1500
#define   COPYDATA_RECIPEEDITOR2REVIEWSYSTEM         1600
/*< LYW 20211111 - #3766 ADD Start >*/
#define COPYDATA_REVIEWHISTORYOR2REVIEWSYSTEM      1800
/*< LYW 20211111 - #3766 ADD End >*/
// [2017:1:13]-[WEZASW] : 다중 모니터에서의 ReviewSystem Display
enum MonitorPosition   {MonitorPos_CENTER=0, MonitorPos_TOP, MonitorPos_BOTTOM, MonitorPos_LEFT, MonitorPos_RIGHT, MonitorPos_Count};
@@ -193,6 +230,7 @@
#include "SequenceProcessor.h"
#include <afxcontrolbars.h>
#include <afxwin.h>
#include <afxcontrolbars.h>
#include <afxcontrolbars.h>
#include <afxcontrolbars.h>
#include <afxcontrolbars.h>
@@ -403,4 +441,30 @@
   char         strMessageString[MAX_PATH];
};
BOOL KillProcess(CString ProcessName);BOOL getStateProcess(CString ProcessName);
BOOL KillProcess(CString ProcessName);BOOL getStateProcess(CString ProcessName);
// 선언
static LONG CALLBACK TopLevelExceptionFilterCallBack(EXCEPTION_POINTERS* exceptionInfo);
LONG CALLBACK TopLevelExceptionFilterCallBack(EXCEPTION_POINTERS * exceptionInfo)
{
   MINIDUMP_EXCEPTION_INFORMATION dmpInfo = { 0 };
   dmpInfo.ThreadId = ::GetCurrentThreadId(); // Threae ID
   dmpInfo.ExceptionPointers = exceptionInfo; // Exception Info
   dmpInfo.ClientPointers = FALSE;
   CTime time;
   CString strStamp;
   SYSTEMTIME   currentTime;
   ::GetLocalTime(&currentTime);
   time = CTime::GetCurrentTime();
   strStamp.Format(_T("Dump\\%02d_%02d_%02d_%02d_%02d_%02d.dmp"), time.GetYear(), time.GetMonth(), time.GetDay(), time.GetHour(), time.GetMinute(), time.GetSecond());
   HANDLE hFile = CreateFile(strStamp, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
   // 덤프 생성
   BOOL bWrite = ::MiniDumpWriteDump(::GetCurrentProcess(), ::GetCurrentProcessId(), hFile, MiniDumpNormal, &dmpInfo, NULL, NULL);
   return 0L;
}