⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qqsetdlg.cpp

📁 QQ自动登陆器
💻 CPP
字号:
// QQsetDlg.cpp : implementation file
//

#include "stdafx.h"
#include "QQ自动登陆器.h"
#include "QQsetDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// QQsetDlg dialog


QQsetDlg::QQsetDlg(CWnd* pParent /*=NULL*/)
	: CDialog(QQsetDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(QQsetDlg)
	m_sQQPath = _T("");
	//}}AFX_DATA_INIT
}


void QQsetDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(QQsetDlg)
	DDX_Control(pDX, IDC_CHECK_WNDTOP, m_ckWndTopMost);
	DDX_Control(pDX, IDC_CHECK_RUNWITHOS, m_ckAutoRun);
	DDX_Control(pDX, IDC_CHECK_RUNANDLOGON, m_ckAutoLogon);
	DDX_Control(pDX, IDC_CHECK_LOGONANDEXIT, m_ckAutoExit);
	DDX_Text(pDX, IDC_EDIT_QQPATH, m_sQQPath);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(QQsetDlg, CDialog)
	//{{AFX_MSG_MAP(QQsetDlg)
	ON_EN_CHANGE(IDC_EDIT_QQPATH, OnChangeEditQQPath)
	ON_BN_CLICKED(IDC_CHECK_RUNWITHOS, OnCheckRunWithOS)
	ON_BN_CLICKED(IDC_CHECK_RUNANDLOGON, OnCheckRunAndLogon)
	ON_BN_CLICKED(IDC_CHECK_WNDTOP, OnCheckWndTopMost)
	ON_BN_CLICKED(IDC_CHECK_LOGONANDEXIT, OnCheckLogonAndExit)
	ON_BN_CLICKED(IDC_BUTTON_APPLYPATH, OnButtonApplyPath)
	ON_BN_CLICKED(IDC_BUTTON_FINDQQ, OnButtonFindQQ)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// QQsetDlg message handlers

BOOL QQsetDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here

	QQSetUpdate();

	
	return FALSE;  // return TRUE unless you set the focus to a control
	// EXCEPTION: OCX Property Pages should return FALSE
}

void QQsetDlg::QQSetUpdate()
{
	if (g_RunWithOS == "是")
	{
		m_ckAutoRun.SetCheck(1);
	}
	else
	{
		m_ckAutoRun.SetCheck(0);
	}
	
	if (g_AutoLogon == "是")
	{
		m_ckAutoLogon.SetCheck(1);
	}
	else
	{
		m_ckAutoLogon.SetCheck(0);
	}

	if (g_AutoExit == "是")
	{
		m_ckAutoExit.SetCheck(1);
	}
	else
	{
		m_ckAutoExit.SetCheck(0);
	}

	if (g_WndTopMost == "是")
	{
		m_ckWndTopMost.SetCheck(1);
	}
	else
	{
		m_ckWndTopMost.SetCheck(0);
	}
	
	m_sQQPath = g_QQPath;
	QQPathValid = IsFileExist(g_QQPath);
	if (QQPathValid)
	{
		SetDlgItemText(IDC_QQPATH_STATUS, "状态: QQ位置有效!");
	}
	else
	{
		SetDlgItemText(IDC_QQPATH_STATUS, "错误: QQ位置无效!请重新设置!");
	}
	UpdateData(FALSE);
}

void QQsetDlg::OnChangeEditQQPath() 
{
	UpdateData(TRUE);
	if (IsFileExist(m_sQQPath))
	{
		SetDlgItemText(IDC_QQPATH_STATUS, "状态: 文件存在!");
	}
	else
	{
		SetDlgItemText(IDC_QQPATH_STATUS, "错误: 文件不存在!");
	}
}

void QQsetDlg::OnButtonApplyPath() 
{
	if (IsFileExist(m_sQQPath))
	{
		g_QQPath = m_sQQPath;
		QQPathValid = TRUE;
		WritePrivateProfileString(MAIN_CONFIG,QQ_PATH,g_QQPath,g_ConfigFilePath);
	}
	else
	{
		SetDlgItemText(IDC_QQPATH_STATUS, "错误: QQ位置无效!");
	}
}

void QQsetDlg::OnButtonFindQQ() 
{
	CFileDialog dlg(TRUE, "exe", "QQ.exe", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"QQ主程序 (QQ.exe)|QQ.exe|其他程序 (*.exe)|*.exe|所有文件 (*.*)|*.*||");
	if (dlg.DoModal() == IDOK)
	{
		m_sQQPath = dlg.GetPathName();
		if (IsFileExist(m_sQQPath))
		{
			g_QQPath = m_sQQPath;
			QQPathValid = TRUE;
			SetDlgItemText(IDC_QQPATH_STATUS, "状态: QQ位置有效!");
			WritePrivateProfileString(MAIN_CONFIG,QQ_PATH,g_QQPath,g_ConfigFilePath);
		}
		UpdateData(FALSE);
	}
}

void QQsetDlg::OnCheckRunWithOS() 
{
	if (m_ckAutoRun.GetCheck())
	{
		g_RunWithOS = "是";
		SetQQAutoRun(g_ConfigFilePath);
	}
	else
	{
		g_RunWithOS = "否";
		SetQQAutoRun(g_ConfigFilePath, TRUE);
	}
	WritePrivateProfileString(MAIN_CONFIG,RUN_WITH_OS,g_RunWithOS,g_ConfigFilePath);
}

void QQsetDlg::OnCheckRunAndLogon() 
{
	if (m_ckAutoLogon.GetCheck())
	{
		g_AutoLogon = "是";
	}
	else
	{
		g_AutoLogon = "否";
	}
	WritePrivateProfileString(MAIN_CONFIG,AUTO_LOGON,g_AutoLogon,g_ConfigFilePath);
}

void QQsetDlg::OnCheckLogonAndExit() 
{
	if (m_ckAutoExit.GetCheck())
	{
		g_AutoExit = "是";
	}
	else
	{
		g_AutoExit = "否";
	}
	WritePrivateProfileString(MAIN_CONFIG,AUTO_EXIT,g_AutoExit,g_ConfigFilePath);
}

void QQsetDlg::OnCheckWndTopMost() 
{
	CWnd* MainDlg = AfxGetMainWnd();
	if (m_ckWndTopMost.GetCheck())
	{
		g_WndTopMost = "是";
		MainDlg->SetWindowPos(&MainDlg->wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
	}
	else
	{
		g_WndTopMost = "否";
		MainDlg->SetWindowPos(&MainDlg->wndNoTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
	}
	WritePrivateProfileString(MAIN_CONFIG,WND_TOPMOST,g_WndTopMost,g_ConfigFilePath);
}

BOOL QQsetDlg::PreTranslateMessage(MSG* pMsg) 
{
	if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN)
	{
		return TRUE;
	}
	if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_ESCAPE)
	{
		return TRUE;
	}
	if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_SPACE &&
		GetFocus() != GetDlgItem(IDC_EDIT_QQPATH) &&
		GetFocus() != GetDlgItem(IDC_CHECK_RUNWITHOS) &&
		GetFocus() != GetDlgItem(IDC_CHECK_RUNANDLOGON) &&
		GetFocus() != GetDlgItem(IDC_CHECK_LOGONANDEXIT) &&
		GetFocus() != GetDlgItem(IDC_CHECK_WNDTOP))
	{
		return TRUE;
	}

	return CDialog::PreTranslateMessage(pMsg);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -