#include "stdafx.h" #include "LockSrvIPDlg.h" #include "CoreTools.h" CLockSrvIPDlg::CLockSrvIPDlg(CWnd* pParent /*=NULL*/) : CDialog(CLockSrvIPDlg::IDD, pParent) { //{{AFX_DATA_INIT(CLockSrvIPDlg) //}}AFX_DATA_INIT m_nField0 = 0; m_nField1 = 0; m_nField2 = 0; m_nField3 = 0; } void CLockSrvIPDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CLockSrvIPDlg) //}}AFX_DATA_MAP DDX_Control(pDX, IDC_IPADDRESS1, m_wndIPAdr); } BEGIN_MESSAGE_MAP(CLockSrvIPDlg, CDialog) //{{AFX_MSG_MAP(CLockSrvIPDlg) //}}AFX_MSG_MAP ON_BN_CLICKED(IDOK, &CLockSrvIPDlg::OnBnClickedOk) END_MESSAGE_MAP() BOOL CLockSrvIPDlg::OnInitDialog() { CDialog::OnInitDialog(); //保存到sys目录下 TCHAR szfileName[MAX_PATH],szFullPath[MAX_PATH]; GetModuleFileName(_hdllInstance,szfileName,MAX_PATH); TCHAR drive[_MAX_DRIVE] = _T(""), dir[_MAX_DIR] = _T(""), fname[_MAX_FNAME] = _T(""), ext[_MAX_EXT] = _T(""); //e:\,program files\autodesk\,myarx,exe _tsplitpath(szfileName, drive, dir, fname, ext); _tcscpy(szFullPath, drive); _tcscat(szFullPath, dir); CString sFullPath = szFullPath; sFullPath.TrimRight(_T('\\')); //上一级目录 int nPos = sFullPath.ReverseFind(_T('\\')); CString sPath = sFullPath.Mid(0,nPos + 1); sFullPath = sPath + _T("sys\\license.ini"); TCHAR szValue[MAX_PATH]; ::GetPrivateProfileString(_T("Product"), _T("Server"), _T(""), szValue, MAX_PATH, sFullPath); CStringArray arFields; CoreTools::SplitStrintToArray(szValue,arFields,_T('.')); if (arFields.GetSize() >= 4) { m_nField0 = _ttoi(arFields.GetAt(0)); m_nField1 = _ttoi(arFields.GetAt(1)); m_nField2 = _ttoi(arFields.GetAt(2)); m_nField3 = _ttoi(arFields.GetAt(3)); } return TRUE; } void CLockSrvIPDlg::OnBnClickedOk() { m_wndIPAdr.GetAddress(m_nField0,m_nField1,m_nField2,m_nField3); if (m_wndIPAdr.IsBlank()) { AfxMessageBox(_T("没有正确填写ip地址!请填写网络锁服务器ip地址!")); return; } //保存到sys目录下 TCHAR szfileName[MAX_PATH],szFullPath[MAX_PATH]; GetModuleFileName(_hdllInstance,szfileName,MAX_PATH); TCHAR drive[_MAX_DRIVE] = _T(""), dir[_MAX_DIR] = _T(""), fname[_MAX_FNAME] = _T(""), ext[_MAX_EXT] = _T(""); //e:\,program files\autodesk\,myarx,exe _tsplitpath(szfileName, drive, dir, fname, ext); _tcscpy(szFullPath, drive); _tcscat(szFullPath, dir); CString sFullPath = szFullPath; sFullPath.TrimRight(_T('\\')); //上一级目录 int nPos = sFullPath.ReverseFind(_T('\\')); CString sPath = sFullPath.Mid(0,nPos + 1); sFullPath = sPath + _T("sys\\license.ini"); CString sVal; sVal.Format(_T("%d.%d.%d.%d"),m_nField0,m_nField1,m_nField2,m_nField3); ::WritePrivateProfileString(_T("Product"), _T("Server"),sVal,sFullPath); OnOK(); }