www.gusucode.com > VC++实现QQ自动登陆器源程序-源码程序 > VC++实现QQ自动登陆器源程序-源码程序\code\Set.cpp

    //Download by http://www.NewXing.com
// Set.cpp : implementation file
//

#include "stdafx.h"
#include "qqlogin.h"
#include "Set.h"
#include "Lregedit.h"

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

/////////////////////////////////////////////////////////////////////////////
// CSet dialog


CSet::CSet(CWnd* pParent /*=NULL*/)
: CDialog(CSet::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSet)
	m_autoLogin = FALSE;
	m_close = FALSE;
	m_start = FALSE;
	//}}AFX_DATA_INIT
}


void CSet::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSet)
	DDX_Check(pDX, IDC_CHECK_AUTOLOGIN, m_autoLogin);
	DDX_Check(pDX, IDC_CHECK_CLOSE, m_close);
	DDX_Check(pDX, IDC_CHECK_START, m_start);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSet, CDialog)
//{{AFX_MSG_MAP(CSet)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSet message handlers

void CSet::OnOK() 
{
	// TODO: Add extra validation here
	Lregedit reg;
	UpdateData();
	if(m_autoLogin&&m_close)
	{
		MessageBox("请不要同时选择此两项");
		return;
	}

	//自动登陆所选QQ
	
	if(m_autoLogin)
	{
		reg.SetValue(HKEY_LOCAL_MACHINE,"SOFTWARE\\TENCENT\\PLATFORM_TYPE_LIST\\1","autoLogin","Y");
		
	}
	else	reg.SetValue(HKEY_LOCAL_MACHINE,"SOFTWARE\\TENCENT\\PLATFORM_TYPE_LIST\\1","autoLogin","N");
	
	//登陆后自动关闭
	
	if(m_close)
	{
		reg.SetValue(HKEY_LOCAL_MACHINE,"SOFTWARE\\TENCENT\\PLATFORM_TYPE_LIST\\1","close","Y");
		
	}
	
	else	reg.SetValue(HKEY_LOCAL_MACHINE,"SOFTWARE\\TENCENT\\PLATFORM_TYPE_LIST\\1","close","N");
	
	//是否开机启动
	if(m_start)
	{
		char AppName[255]={0};
		::GetModuleFileName(NULL,AppName,255);
		reg.SetValue
			(
			HKEY_LOCAL_MACHINE,
			"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",
			"MyQqlogin",AppName
			);
	}
	else
	{
		reg.DeleteValue
			(
			HKEY_LOCAL_MACHINE,
			"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",
			"MyQqlogin"
			);
	}
	
	CDialog::OnOK();
}

BOOL CSet::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	
	Lregedit regedit;
	//查看注册表是否自动启动
	string strAuto=regedit.ReadValue
		(
		HKEY_LOCAL_MACHINE,
		"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",
		"MyQqlogin"
		);
	if(!strAuto.empty())
	{
		m_start=true;
		
	}
	
	
	//查看自动登陆所选QQ
	string strStart=regedit.ReadValue
		(
		HKEY_LOCAL_MACHINE,
		"SOFTWARE\\TENCENT\\PLATFORM_TYPE_LIST\\1",
		"autoLogin"
		);
	if(strStart=="Y")
	{
		m_autoLogin=true;
		
	}
	
	//查看是否自动关闭
	string strClose=regedit.ReadValue
		(
		HKEY_LOCAL_MACHINE,
		"SOFTWARE\\TENCENT\\PLATFORM_TYPE_LIST\\1",
		"close"
		);
	if(strClose=="Y")
	{
		m_close=true;
		
	}
	
	UpdateData(false);
	
	return TRUE;  // return TRUE unless you set the focus to a control
	// EXCEPTION: OCX Property Pages should return FALSE
}