www.pudn.com > LEDShow.rar > LEDS.cpp, change:2014-03-28,size:3380b


 
// LEDS.cpp : 定义应用程序的类行为。 
// 
 
#include "stdafx.h" 
#include "LEDS.h" 
#include "LEDSDlg.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#endif 
 
 
// CLEDSApp 
 
BEGIN_MESSAGE_MAP(CLEDSApp, CWinApp) 
	ON_COMMAND(ID_HELP, &CWinApp::OnHelp) 
END_MESSAGE_MAP() 
 
 
// CLEDSApp 构造 
 
CLEDSApp::CLEDSApp() 
{ 
	// 支持重新启动管理器 
	m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART; 
 
	// TODO: 在此处添加构造代码, 
	// 将所有重要的初始化放置在 InitInstance 中 
} 
 
 
// 唯一的一个 CLEDSApp 对象 
 
CLEDSApp theApp; 
 
const GUID CDECL BASED_CODE _tlid = 
		{ 0x1EA25FF7, 0xB743, 0x4FAE, { 0x86, 0xAB, 0x1A, 0x9E, 0x76, 0x7E, 0xF6, 0x7E } }; 
const WORD _wVerMajor = 1; 
const WORD _wVerMinor = 0; 
 
 
// CLEDSApp 初始化 
 
BOOL CLEDSApp::InitInstance() 
{ 
	// 如果一个运行在 Windows XP 上的应用程序清单指定要 
	// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式, 
	//则需要 InitCommonControlsEx()。否则,将无法创建窗口。 
	INITCOMMONCONTROLSEX InitCtrls; 
	InitCtrls.dwSize = sizeof(InitCtrls); 
	// 将它设置为包括所有要在应用程序中使用的 
	// 公共控件类。 
	InitCtrls.dwICC = ICC_WIN95_CLASSES; 
	InitCommonControlsEx(&InitCtrls); 
 
	CWinApp::InitInstance(); 
 
	if (!AfxSocketInit()) 
	{ 
		AfxMessageBox(IDP_SOCKETS_INIT_FAILED); 
		return FALSE; 
	} 
 
 
	// 初始化 OLE 库 
	if (!AfxOleInit()) 
	{ 
		AfxMessageBox(IDP_OLE_INIT_FAILED); 
		return FALSE; 
	} 
 
	AfxEnableControlContainer(); 
 
	// 创建 shell 管理器,以防对话框包含 
	// 任何 shell 树视图控件或 shell 列表视图控件。 
	CShellManager *pShellManager = new CShellManager; 
 
	// 标准初始化 
	// 如果未使用这些功能并希望减小 
	// 最终可执行文件的大小,则应移除下列 
	// 不需要的特定初始化例程 
	// 更改用于存储设置的注册表项 
	// TODO: 应适当修改该字符串, 
	// 例如修改为公司或组织名 
	SetRegistryKey(_T("应用程序向导生成的本地应用程序")); 
	// 分析自动化开关或注册/注销开关的命令行。 
	CCommandLineInfo cmdInfo; 
	ParseCommandLine(cmdInfo); 
 
	// 应用程序是用 /Embedding 或 /Automation 开关启动的。 
	//使应用程序作为自动化服务器运行。 
	if (cmdInfo.m_bRunEmbedded || cmdInfo.m_bRunAutomated) 
	{ 
		// 通过 CoRegisterClassObject() 注册类工厂。 
		COleTemplateServer::RegisterAll(); 
	} 
	// 应用程序是用 /Unregserver 或 /Unregister 开关启动的。移除 
	// 注册表中的项。 
	else if (cmdInfo.m_nShellCommand == CCommandLineInfo::AppUnregister) 
	{ 
		COleObjectFactory::UpdateRegistryAll(FALSE); 
		AfxOleUnregisterTypeLib(_tlid, _wVerMajor, _wVerMinor); 
		return FALSE; 
	} 
	// 应用程序是以独立方式或用其他开关(如 /Register 
	// 或 /Regserver)启动的。更新注册表项,包括类型库。 
	else 
	{ 
		COleObjectFactory::UpdateRegistryAll(); 
		AfxOleRegisterTypeLib(AfxGetInstanceHandle(), _tlid); 
		if (cmdInfo.m_nShellCommand == CCommandLineInfo::AppRegister) 
			return FALSE; 
	} 
 
	CLEDSDlg dlg; 
	m_pMainWnd = &dlg; 
	INT_PTR nResponse = dlg.DoModal(); 
	if (nResponse == IDOK) 
	{ 
		// TODO: 在此放置处理何时用 
		//  “确定”来关闭对话框的代码 
	} 
	else if (nResponse == IDCANCEL) 
	{ 
		// TODO: 在此放置处理何时用 
		//  “取消”来关闭对话框的代码 
	} 
 
	// 删除上面创建的 shell 管理器。 
	if (pShellManager != NULL) 
	{ 
		delete pShellManager; 
	} 
 
	// 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序, 
	//  而不是启动应用程序的消息泵。 
	return FALSE; 
} 
 
int CLEDSApp::ExitInstance() 
{ 
	AfxOleTerm(FALSE); 
 
	return CWinApp::ExitInstance(); 
}