diff --git a/Doc/Calibration Templates/Explorer-Fx-1D-NTC-10- 8- 3.cct b/Doc/Calibration Templates/Explorer-Fx-1D-NTC-10- 8- 3.cct new file mode 100644 index 0000000..eacaf3e Binary files /dev/null and b/Doc/Calibration Templates/Explorer-Fx-1D-NTC-10- 8- 3.cct differ diff --git a/Doc/Calibration Templates/inspector-Status Fx-1D-NTC-10- 8- 3.cct b/Doc/Calibration Templates/inspector-Status Fx-1D-NTC-10- 8- 3.cct new file mode 100644 index 0000000..0c28a2d Binary files /dev/null and b/Doc/Calibration Templates/inspector-Status Fx-1D-NTC-10- 8- 3.cct differ diff --git a/HSI_HexagonMI_EF3/CLMS.cpp b/HSI_HexagonMI_EF3/CLMS.cpp new file mode 100644 index 0000000..a6aee90 --- /dev/null +++ b/HSI_HexagonMI_EF3/CLMS.cpp @@ -0,0 +1,130 @@ + +#include "stdafx.h" +#include "CLMS.h" +using namespace std; + +#ifdef _DEBUG +#define new DEBUG_NEW +#endif + + +///////////////////////////////////////////////////////////////////////////////动态引用 +HINSTANCE m_hCLM; +/// +/// 功能:使用MORCODE.DLL前验证使用软件是否正确,否则其他函数都不可正常调用 +/// +/// 验证内容为软件指纹文件中字符串 +/// +/// TRUE :该软件可正常调用 +/// FALSE :该软件不可正常调用 +/// +typedef BOOL(WINAPI* CLM_Login)(char* _Massage); +CLM_Login m_pCLM_Login; + +/// +/// 退出前执行一次,释放内存,记录使用信息 +/// +/// +typedef BOOL(WINAPI* CLM_Logout)(); +CLM_Logout m_pCLM_Logout; + +/// +/// 自动检查电脑中是否有当前软件的许可信息,过期/非本机电脑/其他软件 的许可证书都不会识别 +/// +/// +/// TRUE :有该软件许可证书 +/// FALSE :没有该软件许可证书 +/// +typedef BOOL(WINAPI* CLM_Login_Scope)(); +CLM_Login_Scope m_pCLM_Login_Scope; + +/// +/// 输入模块ID验证模块可用性,输入CLMS服务器中模块ID -1(如服务器中模块ID为1,则mod参数输入0) +/// +/// 模块ID-1 +/// 暂无定义 +/// +/// TRUE :该模块可用 +/// FALSE :该模块不可用 +/// +typedef BOOL(WINAPI* CLM_ModuleIsLicensed)(UINT16& _MOD, UINT16& _OnLineType); +CLM_ModuleIsLicensed m_pCLM_ModuleIsLicensed; + +/// +/// 获取到期日期 +/// +/// 月 +/// 日 +/// 年 +/// +typedef BOOL(WINAPI* CLM_GetWarrantyExpiration)(int& _Month, int& _Day, int& _Year); +CLM_GetWarrantyExpiration m_pCLM_GetWarrantyExpiration; + +/// +/// 输入模块ID获取该模块过期时间,输入CLMS服务器中模块ID -1(如服务器中模块ID为1,则mod参数输入0) +/// +/// 模块ID-1 +/// 日 +/// 月 +/// 年 +/// +/// TRUE :时间有效 +/// FALSE :该软件不可正常调用 +/// +typedef BOOL(WINAPI* CLM_GetExpirationDateFor)(const int _MOD, int& _Day, int& _Month, int& _Year); +CLM_GetExpirationDateFor m_pCLM_GetExpirationDateFor; + +BOOL CheckLicense() +{ + m_hCLM = LoadLibrary(_T("CLMTool.dll")); + if (m_hCLM) + { + //Production + m_pCLM_Login = (CLM_Login)GetProcAddress(m_hCLM, "CLM_Login"); + m_pCLM_Logout = (CLM_Logout)GetProcAddress(m_hCLM, "CLM_Logout"); + m_pCLM_Login_Scope = (CLM_Login_Scope)GetProcAddress(m_hCLM, "CLM_Login_Scope"); + m_pCLM_ModuleIsLicensed = (CLM_ModuleIsLicensed)GetProcAddress(m_hCLM, "CLM_ModuleIsLicensed"); + m_pCLM_GetExpirationDateFor = (CLM_GetExpirationDateFor)GetProcAddress(m_hCLM, "CLM_GetExpirationDateFor"); + m_pCLM_GetWarrantyExpiration = (CLM_GetWarrantyExpiration)GetProcAddress(m_hCLM, "CLM_GetWarrantyExpiration"); + } + //////////////////////////////////////////////////////////////////1登陆验证 + BOOL res = FALSE; + //Metus软件 + char* strLogin = "rsWoGvmINesgabljzJZpTmMRGMLyKxFsaxpLRZSnpsujYlboLaKwSINrFbtddgMYgsXkCLwxfVUALwfQcxWEbvZZHjrrYwRkNCBMsjfxeKyannbTIVxsrQvLUWraoysNJFcYJrYnCSabWnxgezkDbvwHLksNqdWyvrfHqKeBLyyVyVYROgizPCqVaRQLkNrSROgvbAqShNZNuzKGHjOLYiwLaXnPKgvHcXuNeNLyuGMFeDnpiipTVDrvJaoNXDTq"; + res = m_pCLM_Login(strLogin); + if (!res) + { + return res; + + //登陆验证失败 + } + + //////////////////////////////////////////////////////////////////2检查许可 + res = m_pCLM_Login_Scope(); + if (!res) + { + return res; + //检查许可失败 + } + + //////////////////////////////////////////////////////////////////3获取许可模块 + UINT16 Mod = 0;// + UINT16 OnLineType = 0;//许可状态 + res = m_pCLM_ModuleIsLicensed(Mod, OnLineType); + if (!res) + { + return res; + //登陆验证失败 + } + + //////////////////////////////////////////////////////////////////4获取许可最早到期日期 + int ModuleID = 2; + int Year, Month, Day; + res = m_pCLM_GetWarrantyExpiration(Month, Day, Year);//获取过期时间 + if (!res) + { + return res; + //登陆验证失败 + } + return res; +} diff --git a/HSI_HexagonMI_EF3/CLMS.h b/HSI_HexagonMI_EF3/CLMS.h new file mode 100644 index 0000000..765988e --- /dev/null +++ b/HSI_HexagonMI_EF3/CLMS.h @@ -0,0 +1,6 @@ +#ifndef CLMS_H_INCLUDED_ +#define CLMS_H_INCLUDED_ + +BOOL CheckLicense(); + +#endif \ No newline at end of file diff --git a/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj b/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj index 1d4b2f5..db240b2 100644 --- a/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj +++ b/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj @@ -99,6 +99,7 @@ copy "$(TargetDir)$(ProjectName).dll" "D:\HSI_Sevenocean_EF3.dll" + @@ -111,6 +112,7 @@ copy "$(TargetDir)$(ProjectName).dll" "D:\HSI_Sevenocean_EF3.dll" + diff --git a/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj.filters b/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj.filters index 790b4b0..e60de99 100644 --- a/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj.filters +++ b/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj.filters @@ -8,6 +8,7 @@ + @@ -21,6 +22,7 @@ + diff --git a/HSI_HexagonMI_EF3/HSI_Motion.cpp b/HSI_HexagonMI_EF3/HSI_Motion.cpp index 48deb03..f2da96b 100644 --- a/HSI_HexagonMI_EF3/HSI_Motion.cpp +++ b/HSI_HexagonMI_EF3/HSI_Motion.cpp @@ -17,6 +17,7 @@ #include #include "windows.h" #include "ACS/ACSC.h" //寮曞叆ACS杩愬姩鎺у埗鍗″ご鏂囦欢 +#include "ClMS.h" using namespace std; #ifdef _DEBUG @@ -244,6 +245,18 @@ HSI_Motion::HSI_Motion() g_pLogger->SendAndFlushWithTime(L"\n"); g_pLogger->SendAndFlushWithTime(L"==========================================================\n"); + // CLMS 鎺堟潈楠岃瘉 + if (!CheckLicense()) + { + wprintf(L"Can't find license\n"); + //寮圭獥鎻愮ず + AfxMessageBox(_T("acs metus middleware No authorization found, please contact the corresponding sales"), MB_ICONWARNING | MB_OK); + + g_pLogger->SendAndFlushWithTime(L"Acs Middleware No authorization found, Please contact the corresponding sales\n"); + + } + g_pLogger->SendAndFlushWithTime(L"Acs Middleware Check License OK\n"); + //妗d綅鍙傛暟 for (int i = 0; i < 5; i++) { diff --git a/HSI_HexagonMI_EF3/version.h b/HSI_HexagonMI_EF3/version.h index 801a9c8..582ed31 100644 --- a/HSI_HexagonMI_EF3/version.h +++ b/HSI_HexagonMI_EF3/version.h @@ -12,5 +12,5 @@ #define HSI_VERSION_REVNUM #define HSI_VERSION_BUILD_DATE _T(__DATE__ ) #define HSI_VERSION_BUILD_TIME _T(__TIME__ ) -#define HSI_FILE_DESCRIPTION "2025.02.13 / 17:57 " -#define HSI_FILE_CSDESCRIPTION _T("2025.02.13 / 17:57 ") +#define HSI_FILE_DESCRIPTION "2025.02.17 / 11:10 " +#define HSI_FILE_CSDESCRIPTION _T("2025.02.17 / 11:10 ") diff --git a/HexcalMC/Resources/start.png b/HexcalMC/Resources/start.png new file mode 100644 index 0000000..b01cb72 Binary files /dev/null and b/HexcalMC/Resources/start.png differ