📄 myset.cpp
字号:
// MySet.cpp : 实现文件
//
#include "stdafx.h"
#include "KYJXExam2006sp3.h"
#include "MySet.h"
#include ".\myset.h"
// CMySet 对话框
IMPLEMENT_DYNAMIC(CMySet, CDialog)
CMySet::CMySet(CWnd* pParent /*=NULL*/)
: CDialog(CMySet::IDD, pParent)
{
}
CMySet::~CMySet()
{
}
void CMySet::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_CHECK1, m_autoboot);
DDX_Control(pDX, IDC_CHECK2, m_autorestor);
DDX_Control(pDX, IDC_CHECK3, m_restormin);
DDX_Control(pDX, IDC_CHECK4, m_restoresc);
DDX_Control(pDX, IDC_CHECK5, m_savemin);
}
BEGIN_MESSAGE_MAP(CMySet, CDialog)
ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
ON_BN_CLICKED(IDOK, OnBnClickedOk)
ON_BN_CLICKED(IDC_SAVESET, OnBnClickedSaveset)
ON_BN_CLICKED(IDC_BROWSE1, OnBnClickedBrowse1)
ON_BN_CLICKED(IDC_BROWSE2, OnBnClickedBrowse2)
ON_BN_CLICKED(IDC_BROWSE3, OnBnClickedBrowse3)
ON_BN_CLICKED(IDC_BROWSE4, OnBnClickedBrowse4)
ON_BN_CLICKED(IDC_BROWSE5, OnBnClickedBrowse5)
ON_BN_CLICKED(IDC_BROWSE6, OnBnClickedBrowse6)
ON_BN_CLICKED(IDC_CHECK3, OnBnClickedCheck3)
ON_BN_CLICKED(IDC_CHECK4, OnBnClickedCheck4)
ON_BN_CLICKED(IDC_CHECK2, OnBnClickedCheck2)
END_MESSAGE_MAP()
// CMySet 消息处理程序
void CMySet::OnBnClickedCancel()
{
// TODO: 在此添加控件通知处理程序代码
OnCancel();
}
void CMySet::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
OnOK();
}
void CMySet::OnBnClickedSaveset()
{
CStringArray path;
CString str(_T(""));
GetDlgItemText(IDC_PATH1,str);
path.Add(str);
GetDlgItemText(IDC_PATH2,str);
path.Add(str);
GetDlgItemText(IDC_PATH3,str);
path.Add(str);
GetDlgItemText(IDC_PATH4,str);
path.Add(str);
GetDlgItemText(IDC_PATH5,str);
path.Add(str);
GetDlgItemText(IDC_PATH6,str);
path.Add(str);
GetDlgItemText(IDC_USERNAME,str);
CString username=str;//待检查的用户名
path.Add(str);
GetDlgItemText(IDC_USERPASSWORD,str);
CString userpassword=str;//待检查的密码1
path.Add(str);
if(m_autoboot.GetCheck())
path.Add(_T("1"));
else
path.Add(_T("0"));
if(m_autorestor.GetCheck())
path.Add(_T("1"));
else
path.Add(_T("0"));
if(m_restormin.GetCheck())
path.Add(_T("1"));
else
path.Add(_T("0"));
if(m_restoresc.GetCheck())
path.Add(_T("1"));
else
path.Add(_T("0"));
if(m_savemin.GetCheck())
path.Add(_T("1"));
else
path.Add(_T("0"));
if(path[0].IsEmpty())
{
AfxMessageBox("必须选择服务端考试主目录!");
GotoDlgCtrl(GetDlgItem(IDC_BROWSE1));
path.RemoveAll();
return;
}
if(path[1].IsEmpty())
{
AfxMessageBox("必须选择服务端考生数据存放目录!");
GotoDlgCtrl(GetDlgItem(IDC_BROWSE2));
path.RemoveAll();
return;
}
if(path[2].IsEmpty())
{
AfxMessageBox("必须选择客户端考试主目录!");
GotoDlgCtrl(GetDlgItem(IDC_BROWSE3));
path.RemoveAll();
return;
}
if(path[3].IsEmpty())
{
AfxMessageBox("必须选择客户端考生数据暂存目录!");
GotoDlgCtrl(GetDlgItem(IDC_BROWSE4));
path.RemoveAll();
return;
}
if(path[4].IsEmpty())
{
AfxMessageBox("必须选择服务端考试备份目录!");
GotoDlgCtrl(GetDlgItem(IDC_BROWSE5));
path.RemoveAll();
return;
}
if(path[5].IsEmpty())
{
AfxMessageBox("必须选择客户端考试备份目录!");
GotoDlgCtrl(GetDlgItem(IDC_BROWSE6));
path.RemoveAll();
return;
}
int n,m;
for(n=0;n<5;n++)
for(m=0;m<5;m++)
if(n!=m)
if(path[n]==path[m])
{
AfxMessageBox("所有路径不能存在重复项!");
return;
}
if(username.IsEmpty())
{
AfxMessageBox("用户名不能为空!");
GotoDlgCtrl(GetDlgItem(IDC_USERNAME));
path.RemoveAll();
return;
}
CString userpassword1;//待检查的密码2
GetDlgItemText(IDC_USERPASSWORD1,userpassword1);
if(userpassword1!=userpassword)
{
AfxMessageBox("两次密码不一致!");
GotoDlgCtrl(GetDlgItem(IDC_USERPASSWORD));
path.RemoveAll();
return;
}
CRegKey regKey;
LONG lRet=regKey.Open(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\KYJXExam2006sp3");
if(lRet!=ERROR_SUCCESS)
{
regKey.Open(HKEY_LOCAL_MACHINE,"Software");
lRet=regKey.Create(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\KYJXExam2006sp3");
}
int x=(int)path.GetCount();
CString value(_T(""));
for(n=0;n<x;n++)
{
if(n<6)
value.Format("dir%d",n+1);
else
{
switch(n)
{
case 6 :
value=_T("UserName");
break;
case 7 :
value=_T("UserPassword");
break;
case 8 :
value=_T("AutoBoot");
break;
case 9 :
value=_T("AutoRestor");
break;
case 10 :
value=_T("RestorMin");
break;
case 11 :
value=_T("RestorEsc");
break;
case 12 :
value=_T("SaveMin");
break;
}
}
regKey.SetValue(path[n],value);
}
regKey.Close();
path.RemoveAll();
}
CString CMySet::GetBrowsePath()
{
CString m_path(_T(""));
LPMALLOC lpMalloc;
CHAR szDisplayName[MAX_PATH];
CHAR szBuffer[MAX_PATH];
if ( ::SHGetMalloc( &lpMalloc ) != NOERROR )
{
AfxMessageBox( "执行路径错误,请退出后重试!" );
return CString();
}
BROWSEINFO BrowseInfo;
ZeroMemory(&BrowseInfo,sizeof(BROWSEINFO));
BrowseInfo.hwndOwner = GetSafeHwnd();
BrowseInfo.pidlRoot = NULL;
BrowseInfo.pszDisplayName = szDisplayName;
//BrowseInfo.lpszTitle = "==== 选择源文件所在位置 ====";
//BrowseInfo.ulFlags = BIF_USENEWUI;
BrowseInfo.lpfn = NULL;
BrowseInfo.lParam = 0;
LPITEMIDLIST lpItemIDList;
if ( ( lpItemIDList = ::SHBrowseForFolder( &BrowseInfo ) ) != NULL )
{
if ( ::SHGetPathFromIDList( lpItemIDList, szBuffer ) )
{
if ( szBuffer[0] == '\0' )
{
AfxMessageBox( "无效路径,重新选择!");
return CString();
}
m_path = szBuffer;
}
else
{
AfxMessageBox( "无效路径,请重新选择!");
return CString();
}
}
lpMalloc->Free( lpItemIDList );
lpMalloc->Release();
if(m_path.GetLength()<1)
return CString();
if(m_path.GetAt(m_path.GetLength()-1)!='\\')
m_path+="\\";
return m_path;
}
void CMySet::OnBnClickedBrowse1()
{
CString path=GetBrowsePath();
if(!path.IsEmpty())
{
SetDlgItemText(IDC_PATH1,path);
}
}
void CMySet::OnBnClickedBrowse2()
{
CString path=GetBrowsePath();
if(!path.IsEmpty())
{
SetDlgItemText(IDC_PATH2,path);
}
}
void CMySet::OnBnClickedBrowse3()
{
CString path=GetBrowsePath();
if(!path.IsEmpty())
{
SetDlgItemText(IDC_PATH3,path);
}
}
void CMySet::OnBnClickedBrowse4()
{
CString path=GetBrowsePath();
if(!path.IsEmpty())
{
SetDlgItemText(IDC_PATH4,path);
}
}
void CMySet::OnBnClickedBrowse5()
{
CString path=GetBrowsePath();
if(!path.IsEmpty())
{
SetDlgItemText(IDC_PATH5,path);
}
}
void CMySet::OnBnClickedBrowse6()
{
CString path=GetBrowsePath();
if(!path.IsEmpty())
{
SetDlgItemText(IDC_PATH6,path);
}
}
BOOL CMySet::OnInitDialog()
{
CDialog::OnInitDialog();
SetDlgItemText(IDC_PATH1,theApp.ReadRegeditPath("dir1"));
SetDlgItemText(IDC_PATH2,theApp.ReadRegeditPath("dir2"));
SetDlgItemText(IDC_PATH3,theApp.ReadRegeditPath("dir3"));
SetDlgItemText(IDC_PATH4,theApp.ReadRegeditPath("dir4"));
SetDlgItemText(IDC_PATH5,theApp.ReadRegeditPath("dir5"));
SetDlgItemText(IDC_PATH6,theApp.ReadRegeditPath("dir6"));
SetDlgItemText(IDC_USERNAME,theApp.ReadRegeditPath("UserName"));
SetDlgItemText(IDC_USERPASSWORD,theApp.ReadRegeditPath("UserPassword"));
SetDlgItemText(IDC_USERPASSWORD1,theApp.ReadRegeditPath("UserPassword"));
m_autoboot.SetCheck(atoi(theApp.ReadRegeditPath("AutoBoot")));
m_autorestor.SetCheck(atoi(theApp.ReadRegeditPath("AutoRestor")));
m_restormin.SetCheck(atoi(theApp.ReadRegeditPath("RestorMin")));
m_restoresc.SetCheck(atoi(theApp.ReadRegeditPath("RestorEsc")));
m_savemin.SetCheck(atoi(theApp.ReadRegeditPath("SaveMin")));
return TRUE;
}
void CMySet::OnBnClickedCheck3()
{
if(m_restormin.GetCheck())
m_restoresc.SetCheck(0);
}
void CMySet::OnBnClickedCheck4()
{
if(m_restoresc.GetCheck())
{
m_autorestor.SetCheck(0);
m_restormin.SetCheck(0);
}
}
void CMySet::OnBnClickedCheck2()
{
if(m_autorestor.GetCheck())
m_restoresc.SetCheck(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -