summaryrefslogtreecommitdiff
path: root/Checklist
diff options
context:
space:
mode:
authorStef Walter <stef@thewalter.net>2003-09-17 19:07:23 +0000
committerStef Walter <stef@thewalter.net>2003-09-17 19:07:23 +0000
commit3f95d417d9e623ac0c74df8ef11d7a01846392dd (patch)
tree45ec73f2dc07eafd7f41a6f62a8cdfbaa279469f /Checklist
Initial ImportHEADmaster
Diffstat (limited to 'Checklist')
-rw-r--r--Checklist/95check.bmpbin0 -> 338 bytes
-rw-r--r--Checklist/AdvancedOptions.bmpbin0 -> 3270 bytes
-rw-r--r--Checklist/AdvancedPage.cpp317
-rw-r--r--Checklist/AdvancedPage.h116
-rw-r--r--Checklist/Checklist.cpp121
-rw-r--r--Checklist/Checklist.dep190
-rw-r--r--Checklist/Checklist.dsp474
-rw-r--r--Checklist/Checklist.h57
-rw-r--r--Checklist/Checklist.idl20
-rw-r--r--Checklist/Checklist.mk934
-rw-r--r--Checklist/Checklist.rc306
-rw-r--r--Checklist/Checklist.rgs11
-rw-r--r--Checklist/ChecklistApp.cpp83
-rw-r--r--Checklist/ChecklistApp.h24
-rw-r--r--Checklist/Checklistps.def11
-rw-r--r--Checklist/Checklistps.mk16
-rw-r--r--Checklist/DonePage.cpp87
-rw-r--r--Checklist/DonePage.h55
-rw-r--r--Checklist/ExtraPage.cpp70
-rw-r--r--Checklist/ExtraPage.h63
-rw-r--r--Checklist/FirstPage.cpp76
-rw-r--r--Checklist/FirstPage.h60
-rw-r--r--Checklist/NightSecWizard.cpp291
-rw-r--r--Checklist/NightSecWizard.h151
-rw-r--r--Checklist/NormalPage.cpp189
-rw-r--r--Checklist/NormalPage.h78
-rw-r--r--Checklist/StdAfx.cpp12
-rw-r--r--Checklist/StdAfx.h44
-rw-r--r--Checklist/dlldata.c38
-rw-r--r--Checklist/res/Night Security Setup.icobin0 -> 766 bytes
-rw-r--r--Checklist/res/Night Security Stub.icobin0 -> 1078 bytes
-rw-r--r--Checklist/res/bitmap2.bmpbin0 -> 11560 bytes
-rw-r--r--Checklist/res/ico00002.icobin0 -> 766 bytes
-rw-r--r--Checklist/res/ico00003.icobin0 -> 766 bytes
-rw-r--r--Checklist/res/menu.bmpbin0 -> 21852 bytes
-rw-r--r--Checklist/res/nightsec.bmpbin0 -> 9164 bytes
-rw-r--r--Checklist/res/shutdown.icobin0 -> 766 bytes
-rw-r--r--Checklist/resource.h43
38 files changed, 3937 insertions, 0 deletions
diff --git a/Checklist/95check.bmp b/Checklist/95check.bmp
new file mode 100644
index 0000000..3fe90db
--- /dev/null
+++ b/Checklist/95check.bmp
Binary files differ
diff --git a/Checklist/AdvancedOptions.bmp b/Checklist/AdvancedOptions.bmp
new file mode 100644
index 0000000..aeb7411
--- /dev/null
+++ b/Checklist/AdvancedOptions.bmp
Binary files differ
diff --git a/Checklist/AdvancedPage.cpp b/Checklist/AdvancedPage.cpp
new file mode 100644
index 0000000..edef443
--- /dev/null
+++ b/Checklist/AdvancedPage.cpp
@@ -0,0 +1,317 @@
+// AdvancedPage.cpp : implementation file
+//
+
+#include "stdafx.h"
+#include "AdvancedPage.h"
+
+/////////////////////////////////////////////////////////////////////////////
+// CAdvancedPage property page
+
+CAdvancedPage::CAdvancedPage(CNightSecWizard* pParent, UINT nType, UINT nIDD, UINT nPos /*= WIZPAGE_MIDDLE*/)
+ : CPropertyPage(nIDD),
+
+ // Set const variables
+ m_nType(nType), // Either COMPONENT_WIN or COMPONENT_DOS
+
+ m_nPos(nPos) // Position in the Wizard (WIZPAGE_FIRST, WIZPAGE_MIDDLE
+ // or WIZPAGE_LAST)
+
+{
+ m_pCurPropPage = NULL; // NULL means no Proppage shown
+ m_pCurComponent = NULL;
+
+ ASSERT(pParent != NULL); // Have to have a valid parent
+ m_pParentSheet = pParent; // or we can't survive
+
+}
+
+CAdvancedPage::~CAdvancedPage()
+{
+ m_pParentSheet = NULL;
+ m_pCurPropPage = NULL;
+ m_pCurComponent = NULL;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// CAdvancedPage message handlers
+
+//////////////////////////////////////////////////////////////////
+// List box selection has changed
+
+LRESULT CAdvancedPage::OnComponentsSelChange(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
+{
+ // Make sure we have a matching PropPage up
+ SetCurrentComponent();
+
+ return 1;
+}
+
+LRESULT CAdvancedPage::OnPageSelChange(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
+{
+ // Make sure we have a matching PropPage up
+ SetCurrentPage();
+
+ return 1;
+}
+
+//////////////////////////////////////////////////////////////////
+// InitDialog
+
+LRESULT CAdvancedPage::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
+{
+ m_ctlDrag.SubclassWindow(GetDlgItem(IDC_COMPONENTS));
+ m_ctlCheck.SubclassWindow(GetDlgItem(IDC_COMPONENTS));
+// m_ctlCheck = GetDlgItem(IDC_COMPONENTS);
+
+ m_ctlTabs = GetDlgItem(IDC_PAGETABS);
+
+ int nIndex = 0;
+
+ // Loop through and Add Components to Box
+ for(int nCnt = 0; nCnt < g_aComponents.size(); nCnt++)
+ {
+ // Make sure it's our internal type (set from constructor)
+ if(g_aComponents[nCnt]->GetType() == m_nType)
+ {
+ // Add the Title
+ nIndex = m_ctlCheck.AddString(g_aComponents[nCnt]->GetName());
+
+ // Save a Pointer to the component in the Listbox Data
+ m_ctlCheck.SetItemDataPtr(nIndex, (void*)g_aComponents[nCnt]);
+
+
+ // Check if Enabled
+ m_ctlCheck.SetCheck(nIndex, g_aComponents[nCnt]->IsEnabled());
+
+ }
+
+ }
+
+
+ // Set the Proppage Rectangle to the Place Holder
+ ::GetWindowRect(GetDlgItem(IDC_PROPHOLDER), &m_rcPropPage);
+ ScreenToClient(&m_rcPropPage);
+
+// m_ctlTabs.Set
+
+
+ // Remove Place Holder Control
+ ::DestroyWindow(GetDlgItem(IDC_PROPHOLDER));
+
+
+ // Select first item and display prop page
+ m_ctlCheck.SetCurSel(0);
+ SetCurrentComponent();
+
+ return TRUE; // return TRUE unless you set the focus to a control
+ // EXCEPTION: OCX Property Pages should return FALSE
+}
+
+//////////////////////////////////////////////////////////////////
+// When the Finish Button on Wizard is pressed
+
+LRESULT CAdvancedPage::OnWizFinish(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
+{
+ // If we have a PropPage then Save it
+ if(m_pCurPropPage != NULL)
+ m_pCurPropPage->Apply();
+
+ // Save Pos and Enabled Status
+ SaveChanges();
+
+ return 0;
+}
+
+//////////////////////////////////////////////////////////////////
+// Basically saves Position of component and Enabled Status
+
+HRESULT CAdvancedPage::SaveChanges()
+{
+ HRESULT hrRet = S_OK;
+ CComponentHolder* pComponent;
+
+ // Loop though and save Pos and Enabled Status
+ for(int nCnt = 0; nCnt < m_ctlCheck.GetCount(); nCnt++)
+ {
+ // Get the Pointer from Listbox Data
+ pComponent = (CComponentHolder*)m_ctlCheck.GetItemDataPtr(nCnt);
+
+ if(pComponent)
+ {
+ // Save to Component Data
+ pComponent->Enable(m_ctlCheck.GetCheck(nCnt) ? true : false);
+ pComponent->SetPos((nCnt * 2) + m_nType - 1); // Need special calculations because we have a number of type sharing same position list
+ }
+ else
+ // Bummed out and don't know why
+ hrRet = E_UNEXPECTED;
+ }
+
+ return hrRet;
+}
+
+//////////////////////////////////////////////////////////////////
+// Make sure our buttons are properly enabled based on our
+// position (passed in constructor)
+
+LRESULT CAdvancedPage::OnSetActive(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
+{
+ DWORD dwButtons;
+
+ // Depening on our Position in the Wizard
+ // Set the Buttons at the bottom on and off
+
+ switch(m_nPos)
+ {
+ case WIZPAGE_FIRST:
+ dwButtons = PSWIZB_NEXT;
+ break;
+ case WIZPAGE_LAST:
+ dwButtons = PSWIZB_BACK | PSWIZB_FINISH;
+ break;
+ default:
+ dwButtons = PSWIZB_BACK | PSWIZB_NEXT;
+ break;
+ }
+
+ m_pParentSheet->SetWizardButtons(dwButtons);
+
+ return 0;
+}
+
+//////////////////////////////////////////////////////////////////
+// Have to save our changes when focus changes cause
+// OnWizardFinish doesn't get called for each sheet
+
+LRESULT CAdvancedPage::OnWizBack(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
+{
+ // If we have a PropPage then Save it
+ if(m_pCurPropPage != NULL)
+ m_pCurPropPage->Apply();
+
+ SaveChanges();
+
+ return 0;
+}
+
+//////////////////////////////////////////////////////////////////
+// Have to save our changes when focus changes cause
+// OnWizardFinish doesn't get called for each sheet
+
+LRESULT CAdvancedPage::OnWizNext(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
+{
+ // If we have a PropPage then Save it
+ if(m_pCurPropPage != NULL)
+ m_pCurPropPage->Apply();
+
+ SaveChanges();
+
+ return 0;
+}
+
+LRESULT CAdvancedPage::OnHelp(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
+{
+ WinHelp(NS_HELP_FILE, HELP_FINDER, 0);
+ return 1;
+}
+
+//////////////////////////////////////////////////////////////////
+// Shows the appropriate Property sheet for the current component
+// in List box
+
+void CAdvancedPage::SetCurrentComponent()
+{
+ // Get the selection
+ int nCurSel = m_ctlCheck.GetCurSel();
+
+ if(nCurSel == LB_ERR)
+ return;
+
+ // Get current selection
+ CComponentHolder* pComponent = (CComponentHolder*)m_ctlCheck.GetItemDataPtr(nCurSel);
+
+ // Only change if a different component
+ if(pComponent == NULL || pComponent == m_pCurComponent)
+ return;
+
+ m_ctlTabs.DeleteAllItems();
+
+ PropertyPageMap::iterator iterPages = m_pParentSheet->m_mapPages.lower_bound(pComponent);
+ PropertyPageMap::iterator endPages = m_pParentSheet->m_mapPages.upper_bound(pComponent);
+ for( ; iterPages != endPages && iterPages != m_pParentSheet->m_mapPages.end(); iterPages++)
+ {
+ string sTitle = iterPages->second->GetTitle();
+ TCITEM tci;
+ tci.mask = TCIF_TEXT | TCIF_PARAM;
+ tci.pszText = sTitle.get_buffer();
+ tci.iImage = -1;
+ tci.lParam = (LPARAM)iterPages->second;
+
+ m_ctlTabs.InsertItem(m_ctlTabs.GetItemCount(), &tci);
+ }
+
+ m_pCurComponent = pComponent;
+ SetCurrentPage();
+}
+
+
+void CAdvancedPage::SetCurrentPage()
+{
+ // Get the selection
+ int nCurSel = m_ctlTabs.GetCurSel();
+
+ CPropPageHolder* pPropPage = NULL;
+
+ if(nCurSel != -1)
+ {
+
+ // Get current selection
+ TCITEM tci;
+ memset(&tci, 0, sizeof(TCITEM));
+ tci.mask = TCIF_PARAM;
+
+ m_ctlTabs.GetItem(nCurSel, &tci);
+
+ pPropPage = (CPropPageHolder*)tci.lParam;
+ ASSERT(pPropPage);
+ }
+
+ // Only change if a different component
+ if(pPropPage != NULL && pPropPage != m_pCurPropPage)
+ {
+ // If it's already created then just show it
+ if(pPropPage->IsActivated())
+ {
+ pPropPage->Show(SW_SHOW);
+ }
+ // Otherwise Create
+ else
+ {
+ pPropPage->Create(m_hWnd, m_rcPropPage, true);
+ pPropPage->Show(SW_SHOW);
+ }
+
+ }
+
+ // Now Hide Old One (Hide after show to avoid flicker)
+ if(m_pCurPropPage != NULL && m_pCurPropPage != pPropPage)
+ {
+ m_pCurPropPage->Show(SW_HIDE);
+
+ // Save Changes before going out
+ m_pCurPropPage->Apply();
+
+ }
+
+ // Current Selection Update
+ m_pCurPropPage = pPropPage;
+}
+
+LRESULT CAdvancedPage::OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
+{
+ // If we have a PropPage then Destroy it
+ if(m_pCurPropPage != NULL)
+ m_pCurPropPage->Destroy();
+
+ return 0;
+}
diff --git a/Checklist/AdvancedPage.h b/Checklist/AdvancedPage.h
new file mode 100644
index 0000000..08531ca
--- /dev/null
+++ b/Checklist/AdvancedPage.h
@@ -0,0 +1,116 @@
+//////////////////////////////////////////////////////////////////
+//
+// AdvancedPage.h : header file
+//
+// Holds one Page for the Advanced Wizard
+//
+// Uses the Type, IDD, and Position passed to constructor
+// to behave correctly in Wizard
+//
+//////////////////////////////////////////////////////////////////
+
+
+#if !defined(AFX_AdvancedPage_H__F447FE42_1843_11D2_B2D4_0020182B97FC__INCLUDED_)
+#define AFX_AdvancedPage_H__F447FE42_1843_11D2_B2D4_0020182B97FC__INCLUDED_
+
+
+
+#if _MSC_VER >= 1000
+#pragma once
+#endif // _MSC_VER >= 1000
+
+#include "NightSecWizard.h"
+#include "resource.h"
+#include "ContextHelp.h"
+#include <atlctrls.h>
+#include <atlprsht.h>
+#include <atllstbx.h>
+
+/////////////////////////////////////////////////////////////////////////////
+// CAdvancedPage dialog
+
+class CAdvancedPage
+ : public CPropertyPage,
+ public CContextHelp<CAdvancedPage>
+{
+
+// Construction
+public:
+ CAdvancedPage(CNightSecWizard* pParent, UINT nType, UINT nIDD, UINT nPos = WIZPAGE_MIDDLE);
+ ~CAdvancedPage();
+
+ // Puts a Components PropPage on display
+ void SetCurrentComponent();
+ void SetCurrentPage();
+
+ CDragListBoxEx m_ctlDrag;
+ CCheckListBox m_ctlCheck;
+// CListBox m_ctlCheck;
+ CTabCtrl m_ctlTabs;
+
+BEGIN_MSG_MAP(CAdvancedPage)
+ MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
+ MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
+ NOTIFY_CODE_HANDLER(PSN_SETACTIVE, OnSetActive)
+ NOTIFY_CODE_HANDLER(PSN_WIZFINISH, OnWizFinish)
+ NOTIFY_CODE_HANDLER(PSN_WIZBACK, OnWizBack)
+ NOTIFY_CODE_HANDLER(PSN_WIZNEXT, OnWizNext)
+ NOTIFY_CODE_HANDLER(PSN_HELP, OnHelp)
+ COMMAND_HANDLER(IDC_COMPONENTS, LBN_SELCHANGE, OnComponentsSelChange)
+ NOTIFY_HANDLER(IDC_PAGETABS, TCN_SELCHANGE, OnPageSelChange)
+ REFLECT_NOTIFICATIONS()
+ REFLECT_DRAGLIST()
+ CHAIN_MSG_MAP(CContextHelp<CAdvancedPage>)
+END_MSG_MAP()
+
+BEGIN_HELP_MAP("nightsec.hlp")
+ HELP_ID(IDC_COMPONENTS, 3502)
+END_HELP_MAP
+
+// Messages
+public:
+ LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
+ LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
+ LRESULT OnComponentsSelChange(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
+ LRESULT OnPageSelChange(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+ LRESULT OnWizFinish(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+ LRESULT OnSetActive(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+ LRESULT OnWizBack(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+ LRESULT OnWizNext(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+ LRESULT OnHelp(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+
+// Implementation
+protected:
+
+ ////////////////////////////////////////////////////
+ // Pointer to Wizard Parent
+ // Needed for Setting Back and Next Buttons
+ CNightSecWizard* m_pParentSheet;
+
+ // Position in the Wizard (WIZPAGE_FIRST, WIZPAGE_MIDDLE
+ // or WIZPAGE_LAST)
+ const UINT m_nPos;
+
+ // Either COMPONENT_WIN or COMPONENT_DOS
+ const UINT m_nType;
+
+
+ //////////////////////////////////////////////////////
+ // Component Property Pages
+ // Pointer to Current Property Page (or NULL if none)
+ CPropPageHolder* m_pCurPropPage;
+
+ // Current Index of Property Page
+ CComponentHolder* m_pCurComponent;
+
+ // Rectangle for Property Page
+ RECT m_rcPropPage;
+
+
+ // Saves Each Components Position and Enabled Status
+ HRESULT SaveChanges();
+
+};
+
+
+#endif // !defined(AFX_AdvancedPage_H__F447FE42_1843_11D2_B2D4_0020182B97FC__INCLUDED_)
diff --git a/Checklist/Checklist.cpp b/Checklist/Checklist.cpp
new file mode 100644
index 0000000..c824e68
--- /dev/null
+++ b/Checklist/Checklist.cpp
@@ -0,0 +1,121 @@
+// Checklist.cpp : Implementation of WinMain
+
+
+// Note: Proxy/Stub Information
+// To build a separate proxy/stub DLL,
+// run nmake -f Checklistps.mk in the project directory.
+
+#include "stdafx.h"
+#include "resource.h"
+#include <initguid.h>
+#include "Checklist.h"
+
+#include "Checklist_i.c"
+#include "../common/Interfaces.cpp"
+
+/*#include <path.h>
+#include <appmisc.h>
+#include <mystring.h>*/
+
+CChecklistApp _Module;
+
+/*
+BEGIN_OBJECT_MAP(ObjectMap)
+END_OBJECT_MAP()
+*/
+
+// const DWORD dwPause = 1000; // time to wait for threads to finish up
+
+LPCTSTR FindOneOf(LPCTSTR p1, LPCTSTR p2)
+{
+ while (p1 != NULL && *p1 != NULL)
+ {
+ LPCTSTR p = p2;
+ while (p != NULL && *p != NULL)
+ {
+ if (*p1 == *p)
+ return CharNext(p1);
+ p = CharNext(p);
+ }
+ p1 = CharNext(p1);
+ }
+ return NULL;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+//
+extern "C" int WINAPI _tWinMain(HINSTANCE hInstance,
+ HINSTANCE /*hPrevInstance*/, LPTSTR lpCmdLine, int /*nShowCmd*/)
+{
+ lpCmdLine = GetCommandLine(); //this line necessary for _ATL_MIN_CRT
+
+#if _WIN32_WINNT >= 0x0400 & defined(_ATL_FREE_THREADED)
+ HRESULT hRes = CoInitializeEx(NULL, COINIT_MULTITHREADED);
+#else
+ HRESULT hRes = CoInitialize(NULL);
+#endif
+
+ _ASSERTE(SUCCEEDED(hRes));
+ _Module.Init(NULL/*ObjectMap*/, hInstance, &LIBID_CHECKLISTLib);
+// _Module.dwThreadID = GetCurrentThreadId();
+ TCHAR szTokens[] = _T("-/");
+
+ int nRet = 0;
+ BOOL bRun = TRUE;
+ LPCTSTR lpszToken = FindOneOf(lpCmdLine, szTokens);
+ while (lpszToken != NULL)
+ {
+ if (lstrcmpi(lpszToken, _T("UnregServer"))==0)
+ {
+// _Module.UpdateRegistryFromResource(IDR_Checklist, FALSE);
+// nRet = _Module.UnregisterServer(TRUE);
+ bRun = FALSE;
+ break;
+ }
+ if (lstrcmpi(lpszToken, _T("RegServer"))==0)
+ {
+ _Module.RegisterDlls();
+
+// _Module.UpdateRegistryFromResource(IDR_Checklist, TRUE);
+// nRet = _Module.RegisterServer(TRUE);
+ bRun = FALSE;
+ break;
+ }
+ lpszToken = FindOneOf(lpszToken, szTokens);
+ }
+
+ if (bRun)
+ {
+// _Module.StartMonitor();
+#if _WIN32_WINNT >= 0x0400 & defined(_ATL_FREE_THREADED)
+// hRes = _Module.RegisterClassObjects(CLSCTX_LOCAL_SERVER,
+// REGCLS_MULTIPLEUSE | REGCLS_SUSPENDED);
+ _ASSERTE(SUCCEEDED(hRes));
+// hRes = CoResumeClassObjects();
+#else
+// hRes = _Module.RegisterClassObjects(CLSCTX_LOCAL_SERVER,
+// REGCLS_MULTIPLEUSE);
+#endif
+// _ASSERTE(SUCCEEDED(hRes));
+
+ if(_Module.InitInstance())
+ {
+
+ MSG msg;
+ while (GetMessage(&msg, 0, 0, 0))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+
+// _Module.RevokeClassObjects();
+// Sleep(dwPause); //wait for any threads to finish
+ }
+
+ _Module.ExitInstance();
+ }
+
+ _Module.Term();
+ CoUninitialize();
+ return nRet;
+}
diff --git a/Checklist/Checklist.dep b/Checklist/Checklist.dep
new file mode 100644
index 0000000..59b758f
--- /dev/null
+++ b/Checklist/Checklist.dep
@@ -0,0 +1,190 @@
+# Microsoft Developer Studio Generated Dependency File, included by Checklist.mak
+
+.\AdvancedPage.cpp : \
+ "..\..\include\atlctrls.h"\
+ "..\..\include\atllstbx.h"\
+ "..\..\include\atlprsht.h"\
+ "..\..\include\atlwinhk.h"\
+ "..\..\include\contexthelp.h"\
+ "..\..\include\debug.h"\
+ "..\common\defines.h"\
+ "..\common\interfaces.h"\
+ "..\Common\PropPageHolder.h"\
+ ".\AdvancedPage.h"\
+ ".\checklist.h"\
+ ".\ExtraPage.h"\
+ ".\NightSecWizard.h"\
+
+
+..\..\Include\src\appmisc.cpp : \
+ "..\..\Include\appmisc.h"\
+ "..\..\include\debug.h"\
+ "..\common\defines.h"\
+ "..\common\interfaces.h"\
+
+
+.\Checklist.cpp : \
+ "..\..\include\debug.h"\
+ "..\common\defines.h"\
+ "..\common\interfaces.cpp"\
+ "..\common\interfaces.h"\
+ "..\interfaces\cmptifaces_i.c"\
+ "..\interfaces\siteifaces_i.c"\
+ ".\checklist.h"\
+ ".\checklist_i.c"\
+
+
+.\Checklist.rc : \
+ ".\95check.bmp"\
+ ".\res\bitmap2.bmp"\
+ ".\res\ico00002.ico"\
+ ".\res\ico00003.ico"\
+ ".\res\menu.bmp"\
+ ".\res\Night Security Stub.ico"\
+ ".\res\nightsec.bmp"\
+ ".\res\shutdown.ico"\
+
+
+.\ChecklistApp.cpp : \
+ "..\..\include\atlctrls.h"\
+ "..\..\include\atllstbx.h"\
+ "..\..\include\atlprsht.h"\
+ "..\..\include\atlwinhk.h"\
+ "..\..\include\contexthelp.h"\
+ "..\..\include\debug.h"\
+ "..\common\defines.h"\
+ "..\common\interfaces.h"\
+ "..\Common\PropPageHolder.h"\
+ ".\AdvancedPage.h"\
+ ".\checklist.h"\
+ ".\DonePage.h"\
+ ".\ExtraPage.h"\
+ ".\FirstPage.h"\
+ ".\NightSecWizard.h"\
+ ".\NormalPage.h"\
+
+
+..\Common\ComponentArray.cpp : \
+ "..\..\include\debug.h"\
+ "..\common\defines.h"\
+ "..\common\interfaces.h"\
+
+
+..\Common\ComponentData.cpp : \
+ "..\..\include\debug.h"\
+ "..\common\defines.h"\
+ "..\common\interfaces.h"\
+
+
+..\Common\ComponentHolder.cpp : \
+ "..\..\include\debug.h"\
+ "..\common\defines.h"\
+ "..\common\interfaces.h"\
+
+
+.\DonePage.cpp : \
+ "..\..\Include\appmisc.h"\
+ "..\..\include\atlctrls.h"\
+ "..\..\include\atlprsht.h"\
+ "..\..\include\atlwinhk.h"\
+ "..\..\include\contexthelp.h"\
+ "..\..\include\debug.h"\
+ "..\common\defines.h"\
+ "..\common\interfaces.h"\
+ ".\DonePage.h"\
+
+
+.\ExtraPage.cpp : \
+ "..\..\include\atlprsht.h"\
+ "..\..\include\atlwinhk.h"\
+ "..\..\include\debug.h"\
+ "..\common\defines.h"\
+ "..\common\interfaces.h"\
+ "..\Common\PropPageHolder.h"\
+ ".\ExtraPage.h"\
+
+
+.\FirstPage.cpp : \
+ "..\..\include\atlprsht.h"\
+ "..\..\include\atlwinhk.h"\
+ "..\..\include\contexthelp.h"\
+ "..\..\include\debug.h"\
+ "..\common\defines.h"\
+ "..\common\interfaces.h"\
+ ".\FirstPage.h"\
+
+
+..\Common\NightSecApp.cpp : \
+ "..\..\Include\appmisc.h"\
+ "..\..\include\debug.h"\
+ "..\..\Include\path.h"\
+ "..\..\include\regsvr.h"\
+ "..\common\defines.h"\
+ "..\common\interfaces.h"\
+
+
+.\NightSecWizard.cpp : \
+ "..\..\include\atlprsht.h"\
+ "..\..\include\atlwinhk.h"\
+ "..\..\include\contexthelp.h"\
+ "..\..\include\debug.h"\
+ "..\common\defines.h"\
+ "..\common\interfaces.h"\
+ "..\Common\PropPageHolder.h"\
+ ".\checklist.h"\
+ ".\ExtraPage.h"\
+ ".\NightSecWizard.h"\
+
+
+.\NormalPage.cpp : \
+ "..\..\include\atlctrls.h"\
+ "..\..\include\atllstbx.h"\
+ "..\..\include\atlprsht.h"\
+ "..\..\include\atlwinhk.h"\
+ "..\..\include\contexthelp.h"\
+ "..\..\include\debug.h"\
+ "..\common\defines.h"\
+ "..\common\interfaces.h"\
+ "..\Common\PropPageHolder.h"\
+ ".\ExtraPage.h"\
+ ".\NormalPage.h"\
+
+
+..\..\Include\src\path.cpp : \
+ "..\..\include\debug.h"\
+ "..\..\Include\path.h"\
+ "..\common\defines.h"\
+ "..\common\interfaces.h"\
+
+
+..\Common\PropPageHolder.cpp : \
+ "..\..\include\debug.h"\
+ "..\common\defines.h"\
+ "..\common\interfaces.h"\
+ "..\Common\PropPageHolder.h"\
+
+
+..\..\Include\src\RegSvr.cpp : \
+ "..\..\include\debug.h"\
+ "..\..\include\regsvr.h"\
+ "..\common\defines.h"\
+ "..\common\interfaces.h"\
+
+
+.\StdAfx.cpp : \
+ "..\..\include\debug.h"\
+ "..\..\include\mystring.h"\
+ "..\..\include\regsettings.h"\
+ "..\Common\ComponentArray.h"\
+ "..\Common\ComponentData.h"\
+ "..\Common\ComponentHolder.h"\
+ "..\common\defines.h"\
+ "..\common\interfaces.h"\
+ "..\Common\NightSecApp.h"\
+ "..\Common\OneInstance.h"\
+ "..\interfaces\cmptifaces.h"\
+ "..\interfaces\siteifaces.h"\
+ ".\ChecklistApp.h"\
+ ".\StdAfx.h"\
+ "d:\devstudio\vc98\include\basetsd.h"\
+
diff --git a/Checklist/Checklist.dsp b/Checklist/Checklist.dsp
new file mode 100644
index 0000000..794027f
--- /dev/null
+++ b/Checklist/Checklist.dsp
@@ -0,0 +1,474 @@
+# Microsoft Developer Studio Project File - Name="Checklist" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=Checklist - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Checklist.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Checklist.mak" CFG="Checklist - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Checklist - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "Checklist - Win32 Unicode Debug" (based on "Win32 (x86) Application")
+!MESSAGE "Checklist - Win32 Release MinSize" (based on "Win32 (x86) Application")
+!MESSAGE "Checklist - Win32 Release MinDependency" (based on "Win32 (x86) Application")
+!MESSAGE "Checklist - Win32 Unicode Release MinSize" (based on "Win32 (x86) Application")
+!MESSAGE "Checklist - Win32 Unicode Release MinDependency" (based on "Win32 (x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Checklist - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comctl32.lib /nologo /subsystem:windows /debug /machine:I386 /out:"../Debug/Checklist.exe" /pdbtype:sept
+# Begin Custom Build - Performing registration
+OutDir=.\Debug
+TargetPath=\Projects\NightSec\Debug\Checklist.exe
+InputPath=\Projects\NightSec\Debug\Checklist.exe
+SOURCE="$(InputPath)"
+
+"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ "$(TargetPath)" /RegServer
+ echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
+ echo Server registration done!
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "Checklist - Win32 Unicode Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugU"
+# PROP BASE Intermediate_Dir "DebugU"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugU"
+# PROP Intermediate_Dir "DebugU"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_UNICODE" /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_UNICODE" /Yu"stdafx.h" /FD /GZ /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /entry:"wWinMainCRTStartup" /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /entry:"wWinMainCRTStartup" /subsystem:windows /debug /machine:I386 /out:"../Debug/Checklist.exe" /pdbtype:sept
+# Begin Custom Build - Performing registration
+OutDir=.\DebugU
+TargetPath=\Projects\NightSec\Debug\Checklist.exe
+InputPath=\Projects\NightSec\Debug\Checklist.exe
+SOURCE="$(InputPath)"
+
+"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ if "%OS%"=="" goto NOTNT
+ if not "%OS%"=="Windows_NT" goto NOTNT
+ "$(TargetPath)" /RegServer
+ echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
+ echo Server registration done!
+ goto end
+ :NOTNT
+ echo Warning : Cannot register Unicode EXE on Windows 95
+ :end
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "Checklist - Win32 Release MinSize"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseMinSize"
+# PROP BASE Intermediate_Dir "ReleaseMinSize"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseMinSize"
+# PROP Intermediate_Dir "ReleaseMinSize"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /W3 /GX /O1 /Ob2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_ATL_DLL" /Yu"stdafx.h" /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib /nologo /subsystem:windows /machine:I386 /out:"../Release/Checklist.exe" /OPT:NOWIN98
+# SUBTRACT LINK32 /pdb:none
+# Begin Custom Build - Performing registration
+OutDir=.\ReleaseMinSize
+TargetPath=\Projects\NightSec\Release\Checklist.exe
+InputPath=\Projects\NightSec\Release\Checklist.exe
+SOURCE="$(InputPath)"
+
+"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ "$(TargetPath)" /RegServer
+ echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
+ echo Server registration done!
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "Checklist - Win32 Release MinDependency"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseMinDependency"
+# PROP BASE Intermediate_Dir "ReleaseMinDependency"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseMinDependency"
+# PROP Intermediate_Dir "ReleaseMinDependency"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_ATL_STATIC_REGISTRY" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /W3 /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_ATL_STATIC_REGISTRY" /Yu"stdafx.h" /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib /nologo /subsystem:windows /machine:I386 /out:"..\Release\Checklist.exe"
+# Begin Custom Build - Performing registration
+OutDir=.\ReleaseMinDependency
+TargetPath=\Projects\NightSec\Release\Checklist.exe
+InputPath=\Projects\NightSec\Release\Checklist.exe
+SOURCE="$(InputPath)"
+
+"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ "$(TargetPath)" /RegServer
+ echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
+ echo Server registration done!
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "Checklist - Win32 Unicode Release MinSize"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseUMinSize"
+# PROP BASE Intermediate_Dir "ReleaseUMinSize"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseUMinSize"
+# PROP Intermediate_Dir "ReleaseUMinSize"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_UNICODE" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_UNICODE" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /out:"../Release/Checklist.exe"
+# Begin Custom Build - Performing registration
+OutDir=.\ReleaseUMinSize
+TargetPath=\Projects\NightSec\Release\Checklist.exe
+InputPath=\Projects\NightSec\Release\Checklist.exe
+SOURCE="$(InputPath)"
+
+"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ if "%OS%"=="" goto NOTNT
+ if not "%OS%"=="Windows_NT" goto NOTNT
+ "$(TargetPath)" /RegServer
+ echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
+ echo Server registration done!
+ goto end
+ :NOTNT
+ echo Warning : Cannot register Unicode EXE on Windows 95
+ :end
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "Checklist - Win32 Unicode Release MinDependency"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseUMinDependency"
+# PROP BASE Intermediate_Dir "ReleaseUMinDependency"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseUMinDependency"
+# PROP Intermediate_Dir "ReleaseUMinDependency"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_UNICODE" /D "_ATL_STATIC_REGISTRY" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_UNICODE" /D "_ATL_STATIC_REGISTRY" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
+# Begin Custom Build - Performing registration
+OutDir=.\ReleaseUMinDependency
+TargetPath=.\ReleaseUMinDependency\Checklist.exe
+InputPath=.\ReleaseUMinDependency\Checklist.exe
+SOURCE="$(InputPath)"
+
+"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ if "%OS%"=="" goto NOTNT
+ if not "%OS%"=="Windows_NT" goto NOTNT
+ "$(TargetPath)" /RegServer
+ echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
+ echo Server registration done!
+ goto end
+ :NOTNT
+ echo Warning : Cannot register Unicode EXE on Windows 95
+ :end
+
+# End Custom Build
+
+!ENDIF
+
+# Begin Target
+
+# Name "Checklist - Win32 Debug"
+# Name "Checklist - Win32 Unicode Debug"
+# Name "Checklist - Win32 Release MinSize"
+# Name "Checklist - Win32 Release MinDependency"
+# Name "Checklist - Win32 Unicode Release MinSize"
+# Name "Checklist - Win32 Unicode Release MinDependency"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\AdvancedPage.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\Include\src\appmisc.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Checklist.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Checklist.rc
+# End Source File
+# Begin Source File
+
+SOURCE=.\ChecklistApp.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\Common\ComponentArray.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\Common\ComponentData.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\Common\ComponentHolder.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\DonePage.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ExtraPage.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\FirstPage.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\Common\NightSecApp.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\NightSecWizard.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\NormalPage.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\Include\src\path.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\Common\PropPageHolder.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\Include\src\RegSvr.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\StdAfx.cpp
+# ADD CPP /Yc"stdafx.h"
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\AdvancedPage.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\Include\atlchkbx.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ChecklistApp.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\Common\ComponentArray.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\Common\ComponentData.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\Common\ComponentHolder.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\DonePage.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ExtraPage.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\FirstPage.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\Common\NightSecApp.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\NightSecWizard.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\NormalPage.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\Common\OneInstance.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\Common\PropPageHolder.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Resource.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\StdAfx.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\Common\types.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=.\95check.bmp
+# End Source File
+# Begin Source File
+
+SOURCE=.\AdvancedOptions.bmp
+# End Source File
+# Begin Source File
+
+SOURCE=.\res\bitmap2.bmp
+# End Source File
+# Begin Source File
+
+SOURCE=.\res\ico00002.ico
+# End Source File
+# Begin Source File
+
+SOURCE=.\res\ico00003.ico
+# End Source File
+# Begin Source File
+
+SOURCE=.\res\menu.bmp
+# End Source File
+# Begin Source File
+
+SOURCE=".\res\Night Security Setup.ico"
+# End Source File
+# Begin Source File
+
+SOURCE=".\res\Night Security Stub.ico"
+# End Source File
+# Begin Source File
+
+SOURCE=.\res\nightsec.bmp
+# End Source File
+# Begin Source File
+
+SOURCE=.\res\shutdown.ico
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/Checklist/Checklist.h b/Checklist/Checklist.h
new file mode 100644
index 0000000..8624898
--- /dev/null
+++ b/Checklist/Checklist.h
@@ -0,0 +1,57 @@
+/* this ALWAYS GENERATED file contains the definitions for the interfaces */
+
+
+/* File created by MIDL compiler version 5.01.0164 */
+/* at Sun Nov 07 00:33:41 1999
+ */
+/* Compiler settings for E:\Projects\NightSec\Checklist\Checklist.idl:
+ Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
+ error checks: allocation ref bounds_check enum stub_data
+*/
+//@@MIDL_FILE_HEADING( )
+
+
+/* verify that the <rpcndr.h> version is high enough to compile this file*/
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 440
+#endif
+
+#include "rpc.h"
+#include "rpcndr.h"
+
+#ifndef __Checklist_h__
+#define __Checklist_h__
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+/* Forward Declarations */
+
+/* header files for imported files */
+#include "oaidl.h"
+#include "ocidl.h"
+
+void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
+void __RPC_USER MIDL_user_free( void __RPC_FAR * );
+
+
+#ifndef __CHECKLISTLib_LIBRARY_DEFINED__
+#define __CHECKLISTLib_LIBRARY_DEFINED__
+
+/* library CHECKLISTLib */
+/* [helpstring][version][uuid] */
+
+
+EXTERN_C const IID LIBID_CHECKLISTLib;
+#endif /* __CHECKLISTLib_LIBRARY_DEFINED__ */
+
+/* Additional Prototypes for ALL interfaces */
+
+/* end of Additional Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/Checklist/Checklist.idl b/Checklist/Checklist.idl
new file mode 100644
index 0000000..e3cbf46
--- /dev/null
+++ b/Checklist/Checklist.idl
@@ -0,0 +1,20 @@
+// Checklist.idl : IDL source for Checklist.dll
+//
+
+// This file will be processed by the MIDL tool to
+// produce the type library (Checklist.tlb) and marshalling code.
+
+import "oaidl.idl";
+import "ocidl.idl";
+
+[
+ uuid(409C4B02-9310-11d3-BFC1-0020182B97FC),
+ version(1.0),
+ helpstring("Checklist 1.0 Type Library")
+]
+library CHECKLISTLib
+{
+ importlib("stdole32.tlb");
+ importlib("stdole2.tlb");
+
+};
diff --git a/Checklist/Checklist.mk b/Checklist/Checklist.mk
new file mode 100644
index 0000000..4e3a8f4
--- /dev/null
+++ b/Checklist/Checklist.mk
@@ -0,0 +1,934 @@
+# Microsoft Developer Studio Generated NMAKE File, Based on Checklist.dsp
+!IF "$(CFG)" == ""
+CFG=Checklist - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to Checklist - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "Checklist - Win32 Debug" && "$(CFG)" != "Checklist - Win32 Unicode Debug" && "$(CFG)" != "Checklist - Win32 Release MinSize" && "$(CFG)" != "Checklist - Win32 Release MinDependency" && "$(CFG)" != "Checklist - Win32 Unicode Release MinSize" && "$(CFG)" != "Checklist - Win32 Unicode Release MinDependency"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Checklist.mak" CFG="Checklist - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Checklist - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "Checklist - Win32 Unicode Debug" (based on "Win32 (x86) Application")
+!MESSAGE "Checklist - Win32 Release MinSize" (based on "Win32 (x86) Application")
+!MESSAGE "Checklist - Win32 Release MinDependency" (based on "Win32 (x86) Application")
+!MESSAGE "Checklist - Win32 Unicode Release MinSize" (based on "Win32 (x86) Application")
+!MESSAGE "Checklist - Win32 Unicode Release MinDependency" (based on "Win32 (x86) Application")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "Checklist - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+
+ALL : "..\Debug\Checklist.exe" ".\Debug\regsvr32.trg"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\AdvancedPage.obj"
+ -@erase "$(INTDIR)\appmisc.obj"
+ -@erase "$(INTDIR)\Checklist.obj"
+ -@erase "$(INTDIR)\Checklist.pch"
+ -@erase "$(INTDIR)\Checklist.res"
+ -@erase "$(INTDIR)\ChecklistApp.obj"
+ -@erase "$(INTDIR)\ComponentArray.obj"
+ -@erase "$(INTDIR)\ComponentData.obj"
+ -@erase "$(INTDIR)\ComponentHolder.obj"
+ -@erase "$(INTDIR)\DonePage.obj"
+ -@erase "$(INTDIR)\ExtraPage.obj"
+ -@erase "$(INTDIR)\FirstPage.obj"
+ -@erase "$(INTDIR)\NightSecApp.obj"
+ -@erase "$(INTDIR)\NightSecWizard.obj"
+ -@erase "$(INTDIR)\NormalPage.obj"
+ -@erase "$(INTDIR)\path.obj"
+ -@erase "$(INTDIR)\PropPageHolder.obj"
+ -@erase "$(INTDIR)\RegSvr.obj"
+ -@erase "$(INTDIR)\StdAfx.obj"
+ -@erase "$(INTDIR)\vc60.idb"
+ -@erase "$(INTDIR)\vc60.pdb"
+ -@erase "$(OUTDIR)\Checklist.pdb"
+ -@erase "..\Debug\Checklist.exe"
+ -@erase "..\Debug\Checklist.ilk"
+ -@erase ".\Debug\regsvr32.trg"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Fp"$(INTDIR)\Checklist.pch" /Yu"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\Checklist.res" /d "_DEBUG"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\Checklist.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comctl32.lib /nologo /subsystem:windows /incremental:yes /pdb:"$(OUTDIR)\Checklist.pdb" /debug /machine:I386 /out:"../Debug/Checklist.exe" /pdbtype:sept
+LINK32_OBJS= \
+ "$(INTDIR)\AdvancedPage.obj" \
+ "$(INTDIR)\appmisc.obj" \
+ "$(INTDIR)\Checklist.obj" \
+ "$(INTDIR)\ChecklistApp.obj" \
+ "$(INTDIR)\ComponentArray.obj" \
+ "$(INTDIR)\ComponentData.obj" \
+ "$(INTDIR)\ComponentHolder.obj" \
+ "$(INTDIR)\DonePage.obj" \
+ "$(INTDIR)\ExtraPage.obj" \
+ "$(INTDIR)\FirstPage.obj" \
+ "$(INTDIR)\NightSecApp.obj" \
+ "$(INTDIR)\NightSecWizard.obj" \
+ "$(INTDIR)\NormalPage.obj" \
+ "$(INTDIR)\path.obj" \
+ "$(INTDIR)\PropPageHolder.obj" \
+ "$(INTDIR)\RegSvr.obj" \
+ "$(INTDIR)\StdAfx.obj" \
+ "$(INTDIR)\Checklist.res"
+
+"..\Debug\Checklist.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+OutDir=.\Debug
+TargetPath=\Projects\NightSec\Debug\Checklist.exe
+InputPath=\Projects\NightSec\Debug\Checklist.exe
+SOURCE="$(InputPath)"
+
+"$(OUTDIR)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ "$(TargetPath)" /RegServer
+ echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
+ echo Server registration done!
+<<
+
+
+!ELSEIF "$(CFG)" == "Checklist - Win32 Unicode Debug"
+
+OUTDIR=.\DebugU
+INTDIR=.\DebugU
+
+ALL : "..\Debug\Checklist.exe" ".\DebugU\regsvr32.trg"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\AdvancedPage.obj"
+ -@erase "$(INTDIR)\appmisc.obj"
+ -@erase "$(INTDIR)\Checklist.obj"
+ -@erase "$(INTDIR)\Checklist.pch"
+ -@erase "$(INTDIR)\Checklist.res"
+ -@erase "$(INTDIR)\ChecklistApp.obj"
+ -@erase "$(INTDIR)\ComponentArray.obj"
+ -@erase "$(INTDIR)\ComponentData.obj"
+ -@erase "$(INTDIR)\ComponentHolder.obj"
+ -@erase "$(INTDIR)\DonePage.obj"
+ -@erase "$(INTDIR)\ExtraPage.obj"
+ -@erase "$(INTDIR)\FirstPage.obj"
+ -@erase "$(INTDIR)\NightSecApp.obj"
+ -@erase "$(INTDIR)\NightSecWizard.obj"
+ -@erase "$(INTDIR)\NormalPage.obj"
+ -@erase "$(INTDIR)\path.obj"
+ -@erase "$(INTDIR)\PropPageHolder.obj"
+ -@erase "$(INTDIR)\RegSvr.obj"
+ -@erase "$(INTDIR)\StdAfx.obj"
+ -@erase "$(INTDIR)\vc60.idb"
+ -@erase "$(INTDIR)\vc60.pdb"
+ -@erase "$(OUTDIR)\Checklist.pdb"
+ -@erase "..\Debug\Checklist.exe"
+ -@erase "..\Debug\Checklist.ilk"
+ -@erase ".\DebugU\regsvr32.trg"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MLd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_UNICODE" /Fp"$(INTDIR)\Checklist.pch" /Yu"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\Checklist.res" /d "_DEBUG"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\Checklist.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /entry:"wWinMainCRTStartup" /subsystem:windows /incremental:yes /pdb:"$(OUTDIR)\Checklist.pdb" /debug /machine:I386 /out:"../Debug/Checklist.exe" /pdbtype:sept
+LINK32_OBJS= \
+ "$(INTDIR)\AdvancedPage.obj" \
+ "$(INTDIR)\appmisc.obj" \
+ "$(INTDIR)\Checklist.obj" \
+ "$(INTDIR)\ChecklistApp.obj" \
+ "$(INTDIR)\ComponentArray.obj" \
+ "$(INTDIR)\ComponentData.obj" \
+ "$(INTDIR)\ComponentHolder.obj" \
+ "$(INTDIR)\DonePage.obj" \
+ "$(INTDIR)\ExtraPage.obj" \
+ "$(INTDIR)\FirstPage.obj" \
+ "$(INTDIR)\NightSecApp.obj" \
+ "$(INTDIR)\NightSecWizard.obj" \
+ "$(INTDIR)\NormalPage.obj" \
+ "$(INTDIR)\path.obj" \
+ "$(INTDIR)\PropPageHolder.obj" \
+ "$(INTDIR)\RegSvr.obj" \
+ "$(INTDIR)\StdAfx.obj" \
+ "$(INTDIR)\Checklist.res"
+
+"..\Debug\Checklist.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+OutDir=.\DebugU
+TargetPath=\Projects\NightSec\Debug\Checklist.exe
+InputPath=\Projects\NightSec\Debug\Checklist.exe
+SOURCE="$(InputPath)"
+
+"$(OUTDIR)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ if "%OS%"=="" goto NOTNT
+ if not "%OS%"=="Windows_NT" goto NOTNT
+ "$(TargetPath)" /RegServer
+ echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
+ echo Server registration done!
+ goto end
+ :NOTNT
+ echo Warning : Cannot register Unicode EXE on Windows 95
+ :end
+<<
+
+
+!ELSEIF "$(CFG)" == "Checklist - Win32 Release MinSize"
+
+OUTDIR=.\ReleaseMinSize
+INTDIR=.\ReleaseMinSize
+
+ALL : "..\Release\Checklist.exe" ".\ReleaseMinSize\regsvr32.trg"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\AdvancedPage.obj"
+ -@erase "$(INTDIR)\appmisc.obj"
+ -@erase "$(INTDIR)\Checklist.obj"
+ -@erase "$(INTDIR)\Checklist.pch"
+ -@erase "$(INTDIR)\Checklist.res"
+ -@erase "$(INTDIR)\ChecklistApp.obj"
+ -@erase "$(INTDIR)\ComponentArray.obj"
+ -@erase "$(INTDIR)\ComponentData.obj"
+ -@erase "$(INTDIR)\ComponentHolder.obj"
+ -@erase "$(INTDIR)\DonePage.obj"
+ -@erase "$(INTDIR)\ExtraPage.obj"
+ -@erase "$(INTDIR)\FirstPage.obj"
+ -@erase "$(INTDIR)\NightSecApp.obj"
+ -@erase "$(INTDIR)\NightSecWizard.obj"
+ -@erase "$(INTDIR)\NormalPage.obj"
+ -@erase "$(INTDIR)\path.obj"
+ -@erase "$(INTDIR)\PropPageHolder.obj"
+ -@erase "$(INTDIR)\RegSvr.obj"
+ -@erase "$(INTDIR)\StdAfx.obj"
+ -@erase "$(INTDIR)\vc60.idb"
+ -@erase "..\Release\Checklist.exe"
+ -@erase ".\ReleaseMinSize\regsvr32.trg"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /ML /W3 /GX /O1 /Ob2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_ATL_DLL" /Fp"$(INTDIR)\Checklist.pch" /Yu"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\Checklist.res" /d "NDEBUG"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\Checklist.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib /nologo /subsystem:windows /incremental:no /pdb:"$(OUTDIR)\Checklist.pdb" /machine:I386 /out:"../Release/Checklist.exe" /OPT:NOWIN98
+LINK32_OBJS= \
+ "$(INTDIR)\AdvancedPage.obj" \
+ "$(INTDIR)\appmisc.obj" \
+ "$(INTDIR)\Checklist.obj" \
+ "$(INTDIR)\ChecklistApp.obj" \
+ "$(INTDIR)\ComponentArray.obj" \
+ "$(INTDIR)\ComponentData.obj" \
+ "$(INTDIR)\ComponentHolder.obj" \
+ "$(INTDIR)\DonePage.obj" \
+ "$(INTDIR)\ExtraPage.obj" \
+ "$(INTDIR)\FirstPage.obj" \
+ "$(INTDIR)\NightSecApp.obj" \
+ "$(INTDIR)\NightSecWizard.obj" \
+ "$(INTDIR)\NormalPage.obj" \
+ "$(INTDIR)\path.obj" \
+ "$(INTDIR)\PropPageHolder.obj" \
+ "$(INTDIR)\RegSvr.obj" \
+ "$(INTDIR)\StdAfx.obj" \
+ "$(INTDIR)\Checklist.res"
+
+"..\Release\Checklist.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+OutDir=.\ReleaseMinSize
+TargetPath=\Projects\NightSec\Release\Checklist.exe
+InputPath=\Projects\NightSec\Release\Checklist.exe
+SOURCE="$(InputPath)"
+
+"$(OUTDIR)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ "$(TargetPath)" /RegServer
+ echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
+ echo Server registration done!
+<<
+
+
+!ELSEIF "$(CFG)" == "Checklist - Win32 Release MinDependency"
+
+OUTDIR=.\ReleaseMinDependency
+INTDIR=.\ReleaseMinDependency
+
+ALL : "..\Release\Checklist.exe" ".\ReleaseMinDependency\regsvr32.trg"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\AdvancedPage.obj"
+ -@erase "$(INTDIR)\appmisc.obj"
+ -@erase "$(INTDIR)\Checklist.obj"
+ -@erase "$(INTDIR)\Checklist.pch"
+ -@erase "$(INTDIR)\Checklist.res"
+ -@erase "$(INTDIR)\ChecklistApp.obj"
+ -@erase "$(INTDIR)\ComponentArray.obj"
+ -@erase "$(INTDIR)\ComponentData.obj"
+ -@erase "$(INTDIR)\ComponentHolder.obj"
+ -@erase "$(INTDIR)\DonePage.obj"
+ -@erase "$(INTDIR)\ExtraPage.obj"
+ -@erase "$(INTDIR)\FirstPage.obj"
+ -@erase "$(INTDIR)\NightSecApp.obj"
+ -@erase "$(INTDIR)\NightSecWizard.obj"
+ -@erase "$(INTDIR)\NormalPage.obj"
+ -@erase "$(INTDIR)\path.obj"
+ -@erase "$(INTDIR)\PropPageHolder.obj"
+ -@erase "$(INTDIR)\RegSvr.obj"
+ -@erase "$(INTDIR)\StdAfx.obj"
+ -@erase "$(INTDIR)\vc60.idb"
+ -@erase "..\Release\Checklist.exe"
+ -@erase ".\ReleaseMinDependency\regsvr32.trg"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /ML /W3 /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_ATL_STATIC_REGISTRY" /Fp"$(INTDIR)\Checklist.pch" /Yu"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\Checklist.res" /d "NDEBUG"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\Checklist.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib /nologo /subsystem:windows /incremental:no /pdb:"$(OUTDIR)\Checklist.pdb" /machine:I386 /out:"..\Release\Checklist.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\AdvancedPage.obj" \
+ "$(INTDIR)\appmisc.obj" \
+ "$(INTDIR)\Checklist.obj" \
+ "$(INTDIR)\ChecklistApp.obj" \
+ "$(INTDIR)\ComponentArray.obj" \
+ "$(INTDIR)\ComponentData.obj" \
+ "$(INTDIR)\ComponentHolder.obj" \
+ "$(INTDIR)\DonePage.obj" \
+ "$(INTDIR)\ExtraPage.obj" \
+ "$(INTDIR)\FirstPage.obj" \
+ "$(INTDIR)\NightSecApp.obj" \
+ "$(INTDIR)\NightSecWizard.obj" \
+ "$(INTDIR)\NormalPage.obj" \
+ "$(INTDIR)\path.obj" \
+ "$(INTDIR)\PropPageHolder.obj" \
+ "$(INTDIR)\RegSvr.obj" \
+ "$(INTDIR)\StdAfx.obj" \
+ "$(INTDIR)\Checklist.res"
+
+"..\Release\Checklist.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+OutDir=.\ReleaseMinDependency
+TargetPath=\Projects\NightSec\Release\Checklist.exe
+InputPath=\Projects\NightSec\Release\Checklist.exe
+SOURCE="$(InputPath)"
+
+"$(OUTDIR)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ "$(TargetPath)" /RegServer
+ echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
+ echo Server registration done!
+<<
+
+
+!ELSEIF "$(CFG)" == "Checklist - Win32 Unicode Release MinSize"
+
+OUTDIR=.\ReleaseUMinSize
+INTDIR=.\ReleaseUMinSize
+
+ALL : "..\Release\Checklist.exe" ".\ReleaseUMinSize\regsvr32.trg"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\AdvancedPage.obj"
+ -@erase "$(INTDIR)\appmisc.obj"
+ -@erase "$(INTDIR)\Checklist.obj"
+ -@erase "$(INTDIR)\Checklist.pch"
+ -@erase "$(INTDIR)\Checklist.res"
+ -@erase "$(INTDIR)\ChecklistApp.obj"
+ -@erase "$(INTDIR)\ComponentArray.obj"
+ -@erase "$(INTDIR)\ComponentData.obj"
+ -@erase "$(INTDIR)\ComponentHolder.obj"
+ -@erase "$(INTDIR)\DonePage.obj"
+ -@erase "$(INTDIR)\ExtraPage.obj"
+ -@erase "$(INTDIR)\FirstPage.obj"
+ -@erase "$(INTDIR)\NightSecApp.obj"
+ -@erase "$(INTDIR)\NightSecWizard.obj"
+ -@erase "$(INTDIR)\NormalPage.obj"
+ -@erase "$(INTDIR)\path.obj"
+ -@erase "$(INTDIR)\PropPageHolder.obj"
+ -@erase "$(INTDIR)\RegSvr.obj"
+ -@erase "$(INTDIR)\StdAfx.obj"
+ -@erase "$(INTDIR)\vc60.idb"
+ -@erase "..\Release\Checklist.exe"
+ -@erase ".\ReleaseUMinSize\regsvr32.trg"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /ML /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_UNICODE" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /Fp"$(INTDIR)\Checklist.pch" /Yu"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\Checklist.res" /d "NDEBUG"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\Checklist.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /incremental:no /pdb:"$(OUTDIR)\Checklist.pdb" /machine:I386 /out:"../Release/Checklist.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\AdvancedPage.obj" \
+ "$(INTDIR)\appmisc.obj" \
+ "$(INTDIR)\Checklist.obj" \
+ "$(INTDIR)\ChecklistApp.obj" \
+ "$(INTDIR)\ComponentArray.obj" \
+ "$(INTDIR)\ComponentData.obj" \
+ "$(INTDIR)\ComponentHolder.obj" \
+ "$(INTDIR)\DonePage.obj" \
+ "$(INTDIR)\ExtraPage.obj" \
+ "$(INTDIR)\FirstPage.obj" \
+ "$(INTDIR)\NightSecApp.obj" \
+ "$(INTDIR)\NightSecWizard.obj" \
+ "$(INTDIR)\NormalPage.obj" \
+ "$(INTDIR)\path.obj" \
+ "$(INTDIR)\PropPageHolder.obj" \
+ "$(INTDIR)\RegSvr.obj" \
+ "$(INTDIR)\StdAfx.obj" \
+ "$(INTDIR)\Checklist.res"
+
+"..\Release\Checklist.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+OutDir=.\ReleaseUMinSize
+TargetPath=\Projects\NightSec\Release\Checklist.exe
+InputPath=\Projects\NightSec\Release\Checklist.exe
+SOURCE="$(InputPath)"
+
+"$(OUTDIR)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ if "%OS%"=="" goto NOTNT
+ if not "%OS%"=="Windows_NT" goto NOTNT
+ "$(TargetPath)" /RegServer
+ echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
+ echo Server registration done!
+ goto end
+ :NOTNT
+ echo Warning : Cannot register Unicode EXE on Windows 95
+ :end
+<<
+
+
+!ELSEIF "$(CFG)" == "Checklist - Win32 Unicode Release MinDependency"
+
+OUTDIR=.\ReleaseUMinDependency
+INTDIR=.\ReleaseUMinDependency
+# Begin Custom Macros
+OutDir=.\ReleaseUMinDependency
+# End Custom Macros
+
+ALL : "$(OUTDIR)\Checklist.exe" ".\ReleaseUMinDependency\regsvr32.trg"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\AdvancedPage.obj"
+ -@erase "$(INTDIR)\appmisc.obj"
+ -@erase "$(INTDIR)\Checklist.obj"
+ -@erase "$(INTDIR)\Checklist.pch"
+ -@erase "$(INTDIR)\Checklist.res"
+ -@erase "$(INTDIR)\ChecklistApp.obj"
+ -@erase "$(INTDIR)\ComponentArray.obj"
+ -@erase "$(INTDIR)\ComponentData.obj"
+ -@erase "$(INTDIR)\ComponentHolder.obj"
+ -@erase "$(INTDIR)\DonePage.obj"
+ -@erase "$(INTDIR)\ExtraPage.obj"
+ -@erase "$(INTDIR)\FirstPage.obj"
+ -@erase "$(INTDIR)\NightSecApp.obj"
+ -@erase "$(INTDIR)\NightSecWizard.obj"
+ -@erase "$(INTDIR)\NormalPage.obj"
+ -@erase "$(INTDIR)\path.obj"
+ -@erase "$(INTDIR)\PropPageHolder.obj"
+ -@erase "$(INTDIR)\RegSvr.obj"
+ -@erase "$(INTDIR)\StdAfx.obj"
+ -@erase "$(INTDIR)\vc60.idb"
+ -@erase "$(OUTDIR)\Checklist.exe"
+ -@erase ".\ReleaseUMinDependency\regsvr32.trg"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /ML /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_UNICODE" /D "_ATL_STATIC_REGISTRY" /D "_ATL_MIN_CRT" /Fp"$(INTDIR)\Checklist.pch" /Yu"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+MTL=midl.exe
+MTL_PROJ=
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\Checklist.res" /d "NDEBUG"
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\Checklist.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /incremental:no /pdb:"$(OUTDIR)\Checklist.pdb" /machine:I386 /out:"$(OUTDIR)\Checklist.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\AdvancedPage.obj" \
+ "$(INTDIR)\appmisc.obj" \
+ "$(INTDIR)\Checklist.obj" \
+ "$(INTDIR)\ChecklistApp.obj" \
+ "$(INTDIR)\ComponentArray.obj" \
+ "$(INTDIR)\ComponentData.obj" \
+ "$(INTDIR)\ComponentHolder.obj" \
+ "$(INTDIR)\DonePage.obj" \
+ "$(INTDIR)\ExtraPage.obj" \
+ "$(INTDIR)\FirstPage.obj" \
+ "$(INTDIR)\NightSecApp.obj" \
+ "$(INTDIR)\NightSecWizard.obj" \
+ "$(INTDIR)\NormalPage.obj" \
+ "$(INTDIR)\path.obj" \
+ "$(INTDIR)\PropPageHolder.obj" \
+ "$(INTDIR)\RegSvr.obj" \
+ "$(INTDIR)\StdAfx.obj" \
+ "$(INTDIR)\Checklist.res"
+
+"$(OUTDIR)\Checklist.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+OutDir=.\ReleaseUMinDependency
+TargetPath=.\ReleaseUMinDependency\Checklist.exe
+InputPath=.\ReleaseUMinDependency\Checklist.exe
+SOURCE="$(InputPath)"
+
+"$(OUTDIR)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ <<tempfile.bat
+ @echo off
+ if "%OS%"=="" goto NOTNT
+ if not "%OS%"=="Windows_NT" goto NOTNT
+ "$(TargetPath)" /RegServer
+ echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
+ echo Server registration done!
+ goto end
+ :NOTNT
+ echo Warning : Cannot register Unicode EXE on Windows 95
+ :end
+<<
+
+
+!ENDIF
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("Checklist.dep")
+!INCLUDE "Checklist.dep"
+!ELSE
+!MESSAGE Warning: cannot find "Checklist.dep"
+!ENDIF
+!ENDIF
+
+
+!IF "$(CFG)" == "Checklist - Win32 Debug" || "$(CFG)" == "Checklist - Win32 Unicode Debug" || "$(CFG)" == "Checklist - Win32 Release MinSize" || "$(CFG)" == "Checklist - Win32 Release MinDependency" || "$(CFG)" == "Checklist - Win32 Unicode Release MinSize" || "$(CFG)" == "Checklist - Win32 Unicode Release MinDependency"
+SOURCE=.\AdvancedPage.cpp
+
+"$(INTDIR)\AdvancedPage.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\Checklist.pch"
+
+
+SOURCE=..\..\Include\src\appmisc.cpp
+
+"$(INTDIR)\appmisc.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\Checklist.pch"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\Checklist.cpp
+
+"$(INTDIR)\Checklist.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\Checklist.pch"
+
+
+SOURCE=.\Checklist.rc
+
+"$(INTDIR)\Checklist.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) $(RSC_PROJ) $(SOURCE)
+
+
+SOURCE=.\ChecklistApp.cpp
+
+"$(INTDIR)\ChecklistApp.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\Checklist.pch"
+
+
+SOURCE=..\Common\ComponentArray.cpp
+
+"$(INTDIR)\ComponentArray.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\Checklist.pch"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\Common\ComponentData.cpp
+
+"$(INTDIR)\ComponentData.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\Checklist.pch"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\Common\ComponentHolder.cpp
+
+"$(INTDIR)\ComponentHolder.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\Checklist.pch"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\DonePage.cpp
+
+"$(INTDIR)\DonePage.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\Checklist.pch"
+
+
+SOURCE=.\ExtraPage.cpp
+
+"$(INTDIR)\ExtraPage.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\Checklist.pch"
+
+
+SOURCE=.\FirstPage.cpp
+
+"$(INTDIR)\FirstPage.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\Checklist.pch"
+
+
+SOURCE=..\Common\NightSecApp.cpp
+
+"$(INTDIR)\NightSecApp.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\Checklist.pch"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\NightSecWizard.cpp
+
+"$(INTDIR)\NightSecWizard.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\Checklist.pch"
+
+
+SOURCE=.\NormalPage.cpp
+
+"$(INTDIR)\NormalPage.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\Checklist.pch"
+
+
+SOURCE=..\..\Include\src\path.cpp
+
+"$(INTDIR)\path.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\Checklist.pch"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\Common\PropPageHolder.cpp
+
+"$(INTDIR)\PropPageHolder.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\Checklist.pch"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\..\Include\src\RegSvr.cpp
+
+"$(INTDIR)\RegSvr.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\Checklist.pch"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=.\StdAfx.cpp
+
+!IF "$(CFG)" == "Checklist - Win32 Debug"
+
+CPP_SWITCHES=/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Fp"$(INTDIR)\Checklist.pch" /Yc"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
+
+"$(INTDIR)\StdAfx.obj" "$(INTDIR)\Checklist.pch" : $(SOURCE) "$(INTDIR)"
+ $(CPP) @<<
+ $(CPP_SWITCHES) $(SOURCE)
+<<
+
+
+!ELSEIF "$(CFG)" == "Checklist - Win32 Unicode Debug"
+
+CPP_SWITCHES=/nologo /MLd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_UNICODE" /Fp"$(INTDIR)\Checklist.pch" /Yc"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
+
+"$(INTDIR)\StdAfx.obj" "$(INTDIR)\Checklist.pch" : $(SOURCE) "$(INTDIR)"
+ $(CPP) @<<
+ $(CPP_SWITCHES) $(SOURCE)
+<<
+
+
+!ELSEIF "$(CFG)" == "Checklist - Win32 Release MinSize"
+
+CPP_SWITCHES=/nologo /ML /W3 /GX /O1 /Ob2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_ATL_DLL" /Fp"$(INTDIR)\Checklist.pch" /Yc"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
+
+"$(INTDIR)\StdAfx.obj" "$(INTDIR)\Checklist.pch" : $(SOURCE) "$(INTDIR)"
+ $(CPP) @<<
+ $(CPP_SWITCHES) $(SOURCE)
+<<
+
+
+!ELSEIF "$(CFG)" == "Checklist - Win32 Release MinDependency"
+
+CPP_SWITCHES=/nologo /ML /W3 /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_ATL_STATIC_REGISTRY" /Fp"$(INTDIR)\Checklist.pch" /Yc"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
+
+"$(INTDIR)\StdAfx.obj" "$(INTDIR)\Checklist.pch" : $(SOURCE) "$(INTDIR)"
+ $(CPP) @<<
+ $(CPP_SWITCHES) $(SOURCE)
+<<
+
+
+!ELSEIF "$(CFG)" == "Checklist - Win32 Unicode Release MinSize"
+
+CPP_SWITCHES=/nologo /ML /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_UNICODE" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /Fp"$(INTDIR)\Checklist.pch" /Yc"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
+
+"$(INTDIR)\StdAfx.obj" "$(INTDIR)\Checklist.pch" : $(SOURCE) "$(INTDIR)"
+ $(CPP) @<<
+ $(CPP_SWITCHES) $(SOURCE)
+<<
+
+
+!ELSEIF "$(CFG)" == "Checklist - Win32 Unicode Release MinDependency"
+
+CPP_SWITCHES=/nologo /ML /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_UNICODE" /D "_ATL_STATIC_REGISTRY" /D "_ATL_MIN_CRT" /Fp"$(INTDIR)\Checklist.pch" /Yc"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
+
+"$(INTDIR)\StdAfx.obj" "$(INTDIR)\Checklist.pch" : $(SOURCE) "$(INTDIR)"
+ $(CPP) @<<
+ $(CPP_SWITCHES) $(SOURCE)
+<<
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/Checklist/Checklist.rc b/Checklist/Checklist.rc
new file mode 100644
index 0000000..926ae7c
--- /dev/null
+++ b/Checklist/Checklist.rc
@@ -0,0 +1,306 @@
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "winres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "#include ""winres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+#ifndef _MAC
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 2,5,0,1
+ PRODUCTVERSION 2,5,0,1
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "Comments", "Part of the Night Security Program\0"
+ VALUE "CompanyName", "The Family (Thailand)\0"
+ VALUE "FileDescription", "Night Security (Checklist Module)\0"
+ VALUE "FileVersion", "2, 5, 0, 1\0"
+ VALUE "InternalName", "Checklist\0"
+ VALUE "LegalCopyright", "Copyright (C) 1998 - 1999, The Family (Thailand)\0"
+ VALUE "LegalTrademarks", "\0"
+ VALUE "OLESelfRegister", "\0"
+ VALUE "OriginalFilename", "secsetup.exe\0"
+ VALUE "PrivateBuild", "\0"
+ VALUE "ProductName", "Night Security 2.5\0"
+ VALUE "ProductVersion", "2, 5, 0, 1\0"
+ VALUE "SpecialBuild", "\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
+
+#endif // !_MAC
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_WIZEXTRA DIALOG DISCARDABLE 0, 0, 283, 137
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Night Security Checklist"
+FONT 8, "MS Sans Serif"
+BEGIN
+ CONTROL 132,IDC_STATIC,"Static",SS_BITMAP | SS_SUNKEN,0,0,68,137
+ LTEXT "The item '%s' needs more information:",IDC_HEADERTEXT,
+ 75,1,208,10
+ CONTROL "",IDC_PROPHOLDER,"Static",SS_BLACKFRAME | NOT
+ WS_VISIBLE,79,18,200,115
+ LTEXT "",IDC_STATIC,75,15,207,121,SS_SUNKEN | NOT WS_GROUP
+END
+
+IDD_ADVWIZWIN DIALOG DISCARDABLE 0, 0, 267, 199
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Night Security Checklist"
+FONT 8, "MS Sans Serif"
+BEGIN
+ LISTBOX IDC_COMPONENTS,45,22,222,48,LBS_OWNERDRAWFIXED |
+ LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL |
+ WS_TABSTOP
+ CONTROL 207,ID_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE,0,0,33,
+ 198
+ LTEXT "The following items run in your Secure Shutdown before exiting Windows. Drag an item to change the order.",
+ ID_STATIC,45,0,219,18
+ CONTROL "Tab",IDC_PAGETABS,"SysTabControl32",TCS_VERTICAL |
+ WS_TABSTOP,44,77,223,122
+ CTEXT "(No advanced properties for this component)",ID_STATIC,
+ 74,131,171,11
+ CONTROL "",IDC_PROPHOLDER,"Static",SS_BLACKFRAME | NOT
+ WS_VISIBLE,63,80,200,115
+END
+
+IDD_FIRSTPAGE DIALOG DISCARDABLE 0, 0, 283, 137
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Night Security Checklist"
+FONT 8, "MS Sans Serif"
+BEGIN
+ CONTROL 132,IDC_STATIC,"Static",SS_BITMAP | SS_REALSIZEIMAGE |
+ SS_SUNKEN,0,0,68,137
+ PUSHBUTTON "&Advanced...",IDC_ADVANCED,224,87,56,15
+ LTEXT "Welcome to Night Security. The easy way to keep your computer secure.",
+ IDC_STATIC,74,0,206,18
+ LTEXT "Just click the 'Next' button below and check off the different items you want to put on your 'security checklist.'",
+ IDC_STATIC,98,31,182,17
+ LTEXT "In order to use the shutdown (ie: do security) select the 'Secure Shutdown' command on your Start menu.",
+ IDC_STATIC,99,118,181,19
+ ICON IDI_SHUTDOWN,IDC_STATIC,74,116,20,20
+ ICON IDI_ITEMS,IDC_STATIC,72,31,20,20
+ LTEXT "If you like to play with settings just click the 'Advanced' button below and tweak to your heart's content.",
+ IDC_STATIC,98,67,182,17
+END
+
+IDD_LASTPAGE DIALOG DISCARDABLE 0, 0, 283, 137
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Night Security Checklist"
+FONT 8, "MS Sans Serif"
+BEGIN
+ CONTROL 132,IDC_STATIC,"Static",SS_BITMAP | SS_REALSIZEIMAGE |
+ SS_SUNKEN,0,0,68,137
+ LTEXT "Night Security is ready for you to use. ",IDC_STATIC,76,
+ 0,198,10
+ CONTROL 146,IDC_STATIC,"Static",SS_BITMAP,165,34,114,152
+ PUSHBUTTON "Secure Shutdown",IDC_SHUTDOWN,77,85,35,28,BS_ICON |
+ BS_FLAT
+ LTEXT "Click here to start your Secure Shutdown:",IDC_STATIC,
+ 76,119,78,16
+ LTEXT "In order to 'do' Night Security on your computer click 'Secure Shutdown' on your Start menu.",
+ IDC_STATIC,76,12,197,18
+END
+
+IDD_WIZ DIALOG DISCARDABLE 0, 0, 283, 137
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Night Security Checklist"
+FONT 8, "MS Sans Serif"
+BEGIN
+ LTEXT "Check the items you'd like to run in your Secure Shutdown.",
+ IDC_STATIC,75,1,199,10
+ CONTROL 132,IDC_STATIC,"Static",SS_BITMAP | SS_REALSIZEIMAGE |
+ SS_SUNKEN,0,0,68,137
+ LISTBOX IDC_COMPONENTS,75,15,204,76,LBS_OWNERDRAWFIXED |
+ LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL |
+ WS_TABSTOP
+ ICON IDI_NOTE,IDC_STATIC,75,104,20,20
+ LTEXT "Static",IDC_TIPS,102,104,177,33
+ CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ | SS_SUNKEN,75,96,
+ 204,1
+END
+
+IDD_ADVWIZDOS DIALOG DISCARDABLE 0, 0, 267, 199
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Night Security Checklist"
+FONT 8, "MS Sans Serif"
+BEGIN
+ LISTBOX IDC_COMPONENTS,45,22,222,48,LBS_OWNERDRAWFIXED |
+ LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL |
+ WS_TABSTOP
+ CONTROL 207,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE,0,0,
+ 33,198
+ CONTROL "Tab",IDC_PAGETABS,"SysTabControl32",TCS_VERTICAL,44,77,
+ 223,122
+ CTEXT "(No advanced properties for this component)",IDC_STATIC,
+ 74,131,171,11
+ CONTROL "",IDC_PROPHOLDER,"Static",SS_BLACKFRAME | NOT
+ WS_VISIBLE,63,80,200,115
+ LTEXT "The following items run in MS-DOS Mode section of your Secure Shutdown after exiting Windows. Drag an item to change the order.",
+ IDC_STATIC,45,0,215,18
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO DISCARDABLE
+BEGIN
+ IDD_WIZEXTRA, DIALOG
+ BEGIN
+ VERTGUIDE, 68
+ VERTGUIDE, 75
+ VERTGUIDE, 79
+ VERTGUIDE, 277
+ HORZGUIDE, 18
+ HORZGUIDE, 21
+ END
+
+ IDD_ADVWIZWIN, DIALOG
+ BEGIN
+ RIGHTMARGIN, 264
+ END
+
+ IDD_FIRSTPAGE, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ VERTGUIDE, 231
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 130
+ END
+
+ IDD_LASTPAGE, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 273
+ TOPMARGIN, 7
+ END
+
+ IDD_WIZ, DIALOG
+ BEGIN
+ VERTGUIDE, 68
+ VERTGUIDE, 75
+ END
+END
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Bitmap
+//
+
+IDB_ADVANCED BITMAP DISCARDABLE "res\\nightsec.bmp"
+IDB_MENU BITMAP DISCARDABLE "res\\menu.bmp"
+IDB_NORMAL BITMAP DISCARDABLE "res\\bitmap2.bmp"
+IDB_CHECKLISTBOX BITMAP DISCARDABLE "95check.bmp"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDR_MAINFRAME ICON DISCARDABLE "res\\Night Security Stub.ico"
+IDI_ITEMS ICON DISCARDABLE "res\\ico00002.ico"
+IDI_NOTE ICON DISCARDABLE "res\\ico00003.ico"
+IDI_SHUTDOWN ICON DISCARDABLE "res\\shutdown.ico"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// String Table
+//
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_PROJNAME "Checklist"
+ IDP_REGISTER_FAILED "Night Security was unable to register the %s component.\n\n%s\nIf Night Security doesn't seem to be working properly please reinstall."
+END
+
+#endif // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/Checklist/Checklist.rgs b/Checklist/Checklist.rgs
new file mode 100644
index 0000000..7b79792
--- /dev/null
+++ b/Checklist/Checklist.rgs
@@ -0,0 +1,11 @@
+HKCR
+{
+ NoRemove AppID
+ {
+ {19178A36-7FDB-11D3-BF9E-0020182B97FC} = s 'Checklist'
+ 'Checklist.EXE'
+ {
+ val AppID = s {19178A36-7FDB-11D3-BF9E-0020182B97FC}
+ }
+ }
+}
diff --git a/Checklist/ChecklistApp.cpp b/Checklist/ChecklistApp.cpp
new file mode 100644
index 0000000..503dfce
--- /dev/null
+++ b/Checklist/ChecklistApp.cpp
@@ -0,0 +1,83 @@
+// ChecklistApp.cpp: implementation of the CChecklistApp class.
+//
+//////////////////////////////////////////////////////////////////////
+
+#include "stdafx.h"
+#include "ChecklistApp.h"
+#include "NightSecWizard.h"
+
+#include "FirstPage.h"
+#include "NormalPage.h"
+#include "DonePage.h"
+#include "AdvancedPage.h"
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+CChecklistApp::CChecklistApp()
+ : CNightSecApp(_T("Night Security Checklist"), _T("NightSecurity.SecSetup.{2ED9B361-F6EF-11d2-A5A1-0020182B97FC}"))
+{ }
+
+CChecklistApp::~CChecklistApp()
+{ }
+
+bool CChecklistApp::InitInstance()
+{
+ if(!CNightSecApp::InitInstance())
+ return false;
+
+ // If more than one instance bail out early
+ if(m_oneInstance.IsAlreadyLoaded())
+ {
+ m_oneInstance.FindAndActivate(_T("#32770"), _T("Night Security Checklist"));
+ return false;
+ }
+
+ // Create the Normal Wizard
+ CNormalWizard wizNormal;
+
+ // Add Normal Wizard Pages
+ CFirstPage page1(&wizNormal, WIZPAGE_FIRST);
+ CNormalPage page2(&wizNormal, WIZPAGE_MIDDLE);
+ CDonePage page3(&wizNormal, WIZPAGE_LAST);
+
+ wizNormal.AddPage(&page1);
+ wizNormal.AddPage(&page2);
+ wizNormal.AddExtraPages();
+ wizNormal.AddPage(&page3);
+
+ // And Show it
+ int nRet = wizNormal.DoModal();
+
+ // If Advanced Button was pressed
+ if(nRet == IDC_ADVANCED)
+ {
+
+ // Create the Advanced Wizard
+ CAdvancedWizard wizAdvanced;
+
+ // Add advanced Wizard Pages
+ CAdvancedPage pageAdv1(&wizAdvanced, COMPONENT_WIN, IDD_ADVWIZWIN, WIZPAGE_FIRST);
+ CAdvancedPage pageAdv2(&wizAdvanced, COMPONENT_DOS, IDD_ADVWIZDOS, WIZPAGE_LAST);
+
+ wizAdvanced.AddPage(&pageAdv1);
+ wizAdvanced.AddPage(&pageAdv2);
+
+ // And Show it
+ nRet = wizAdvanced.DoModal();
+
+ }
+
+ if(nRet == ID_WIZFINISH)
+ {
+ // Set flag so Secure Shutdown Program doesn't prompt
+ m_settings.WriteInt("Is Setup", 1);
+ // If Finish Button was pressed then save data
+ g_aComponents.SaveComponentData();
+ }
+
+ // Since the dialog has been closed, return FALSE so that we exit the
+ // application, rather than start the application's message pump.
+ return false;
+}
diff --git a/Checklist/ChecklistApp.h b/Checklist/ChecklistApp.h
new file mode 100644
index 0000000..ec384bf
--- /dev/null
+++ b/Checklist/ChecklistApp.h
@@ -0,0 +1,24 @@
+// ChecklistApp.h: interface for the CChecklistApp class.
+//
+//////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_CHECKLISTAPP_H__19178A46_7FDB_11D3_BF9E_0020182B97FC__INCLUDED_)
+#define AFX_CHECKLISTAPP_H__19178A46_7FDB_11D3_BF9E_0020182B97FC__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "..\common\NightSecApp.h"
+
+class CChecklistApp : public CNightSecApp
+{
+public:
+ CChecklistApp();
+ virtual ~CChecklistApp();
+
+ virtual bool InitInstance();
+
+};
+
+#endif // !defined(AFX_CHECKLISTAPP_H__19178A46_7FDB_11D3_BF9E_0020182B97FC__INCLUDED_)
diff --git a/Checklist/Checklistps.def b/Checklist/Checklistps.def
new file mode 100644
index 0000000..36f7aa8
--- /dev/null
+++ b/Checklist/Checklistps.def
@@ -0,0 +1,11 @@
+
+LIBRARY "ChecklistPS"
+
+DESCRIPTION 'Proxy/Stub DLL'
+
+EXPORTS
+ DllGetClassObject @1 PRIVATE
+ DllCanUnloadNow @2 PRIVATE
+ GetProxyDllInfo @3 PRIVATE
+ DllRegisterServer @4 PRIVATE
+ DllUnregisterServer @5 PRIVATE
diff --git a/Checklist/Checklistps.mk b/Checklist/Checklistps.mk
new file mode 100644
index 0000000..81501ba
--- /dev/null
+++ b/Checklist/Checklistps.mk
@@ -0,0 +1,16 @@
+
+Checklistps.dll: dlldata.obj Checklist_p.obj Checklist_i.obj
+ link /dll /out:Checklistps.dll /def:Checklistps.def /entry:DllMain dlldata.obj Checklist_p.obj Checklist_i.obj \
+ kernel32.lib rpcndr.lib rpcns4.lib rpcrt4.lib oleaut32.lib uuid.lib \
+
+.c.obj:
+ cl /c /Ox /DWIN32 /D_WIN32_WINNT=0x0400 /DREGISTER_PROXY_DLL \
+ $<
+
+clean:
+ @del Checklistps.dll
+ @del Checklistps.lib
+ @del Checklistps.exp
+ @del dlldata.obj
+ @del Checklist_p.obj
+ @del Checklist_i.obj
diff --git a/Checklist/DonePage.cpp b/Checklist/DonePage.cpp
new file mode 100644
index 0000000..76b4eb4
--- /dev/null
+++ b/Checklist/DonePage.cpp
@@ -0,0 +1,87 @@
+// DonePage.cpp : implementation file
+//
+
+#include "stdafx.h"
+#include "DonePage.h"
+#include <atlctrls.h>
+#include <appmisc.h>
+
+/////////////////////////////////////////////////////////////////////////////
+// CDonePage property page
+
+CDonePage::CDonePage(CPropertySheet* pParent, UINT nPos /*= WIZPAGE_MIDDLE*/)
+ : CPropertyPage(CDonePage::IDD),
+
+ m_nPos(nPos) // Position in the Wizard (WIZPAGE_FIRST, WIZPAGE_MIDDLE
+ // or WIZPAGE_LAST)
+{
+ ASSERT(pParent); // Have to have a valid parent
+ m_pParentSheet = pParent; // or we can't survive
+ SetHelp(true);
+}
+
+CDonePage::~CDonePage()
+{
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// CDonePage message handlers
+
+LRESULT CDonePage::OnSetActive(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
+{
+ DWORD dwButtons;
+
+ // Depening on our Position in the Wizard
+ // Set the Buttons at the bottom on and off
+
+ switch(m_nPos){
+ case WIZPAGE_FIRST:
+ dwButtons = PSWIZB_NEXT;
+ break;
+ case WIZPAGE_LAST:
+ dwButtons = PSWIZB_BACK | PSWIZB_FINISH;
+ break;
+ default:
+ dwButtons = PSWIZB_BACK | PSWIZB_NEXT;
+ break;
+ }
+
+ m_pParentSheet->SetWizardButtons(dwButtons);
+
+ return 0;
+}
+
+LRESULT CDonePage::OnHelp(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
+{
+ WinHelp(NS_HELP_FILE, HELP_FINDER, 0);
+ return 1;
+}
+
+LRESULT CDonePage::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
+{
+ // Set the Help ID for our Help File
+// m_nIDHelp = 300;
+
+ HICON hIconNightSec = ::LoadIcon(_Module.m_hInstResource, MAKEINTRESOURCE(IDI_SHUTDOWN));
+
+ CButton btnNew = GetDlgItem(IDC_SHUTDOWN);
+ btnNew.SetIcon(hIconNightSec);
+ btnNew.Detach();
+
+ return TRUE; // return TRUE unless you set the focus to a control
+ // EXCEPTION: OCX Property Pages should return FALSE
+}
+
+LRESULT CDonePage::OnShutdown(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
+{
+ m_pParentSheet->PressButton(PSBTN_FINISH);
+
+ string sShutdownCmd = GetProgramFolder(_Module.m_hInst);
+ sShutdownCmd += _T("Shutdown.exe");
+
+ // Start the Shutdown Program
+ if(ShellExecute(NULL, _T("open"), sShutdownCmd, NULL, NULL, SW_SHOWNORMAL) <= (HINSTANCE)32)
+ ::MessageBox(NULL, _T("Couldn't start Secure Shutdown. Make sure it's installed properly."), _T("Secure Shutdown"), MB_ICONSTOP);
+
+ return 1;
+}
diff --git a/Checklist/DonePage.h b/Checklist/DonePage.h
new file mode 100644
index 0000000..caf1492
--- /dev/null
+++ b/Checklist/DonePage.h
@@ -0,0 +1,55 @@
+#if !defined(AFX_DONEPAGE_H__266E17F7_F416_11D2_A599_0020182B97FC__INCLUDED_)
+#define AFX_DONEPAGE_H__266E17F7_F416_11D2_A599_0020182B97FC__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+// DonePage.h : header file
+//
+
+#include "resource.h"
+#include <atlprsht.h>
+#include <contexthelp.h>
+
+/////////////////////////////////////////////////////////////////////////////
+// CDonePage dialog
+
+class CDonePage
+ : public CPropertyPage,
+ public CContextHelp<CDonePage>
+{
+
+ // Construction
+public:
+ CDonePage(CPropertySheet* pParent, UINT nPos = WIZPAGE_MIDDLE);
+ ~CDonePage();
+
+// Dialog Data
+ enum { IDD = IDD_LASTPAGE };
+
+BEGIN_MSG_MAP(CDonePage)
+ MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
+ NOTIFY_CODE_HANDLER(PSN_SETACTIVE, OnSetActive)
+ COMMAND_HANDLER(IDC_SHUTDOWN, BN_CLICKED, OnShutdown)
+ CHAIN_MSG_MAP(CContextHelp<CDonePage>)
+ NOTIFY_CODE_HANDLER(PSN_HELP, OnHelp)
+END_MSG_MAP()
+
+BEGIN_HELP_MAP(NS_HELP_FILE)
+ HELP_ID(IDC_SHUTDOWN, 3003)
+END_HELP_MAP
+
+// Messages
+public:
+ LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
+ LRESULT OnShutdown(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
+ LRESULT OnSetActive(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+ LRESULT OnHelp(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+
+// Implementation
+protected:
+ CPropertySheet* m_pParentSheet;
+ const UINT m_nPos;
+};
+
+#endif // !defined(AFX_DONEPAGE_H__266E17F7_F416_11D2_A599_0020182B97FC__INCLUDED_)
diff --git a/Checklist/ExtraPage.cpp b/Checklist/ExtraPage.cpp
new file mode 100644
index 0000000..dccc325
--- /dev/null
+++ b/Checklist/ExtraPage.cpp
@@ -0,0 +1,70 @@
+// ExtraPage.cpp : implementation file
+//
+
+#include "stdafx.h"
+#include "ExtraPage.h"
+
+#include <mystring.h>
+
+/////////////////////////////////////////////////////////////////////////////
+// CExtraPage property page
+
+
+/////////////////////////////////////////////////////////////////////////////
+// CExtraPage message handlers
+
+LRESULT CExtraPage::OnSetActive(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
+{
+ ASSERT(m_pComponent != NULL);
+ m_pParentSheet->SetWizardButtons(PSWIZB_BACK | PSWIZB_NEXT);
+ return m_pComponent->IsEnabled() ? 0 : -1;
+}
+
+LRESULT CExtraPage::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
+{
+ // Set the Proppage Rectangle to the Place Holder
+ ::GetWindowRect(GetDlgItem(IDC_PROPHOLDER), &m_rcPropPage);
+ ScreenToClient(&m_rcPropPage);
+
+ // Remove Place Holder Control
+ ::DestroyWindow(GetDlgItem(IDC_PROPHOLDER));
+
+ string sFormat;
+ GetDlgItemText(IDC_HEADERTEXT, sFormat.get_buffer(512), 512);
+ sFormat.release_buffer();
+
+ string sText;
+ sText.format(sFormat, (LPCTSTR)m_pComponent->GetName());
+
+ SetDlgItemText(IDC_HEADERTEXT, sText);
+
+ m_pPropPage->Create(*this, m_rcPropPage, true);
+ SetWindowLong(GWL_EXSTYLE, GetWindowLong(GWL_EXSTYLE) & WS_EX_CONTROLPARENT);
+ return TRUE; // return TRUE unless you set the focus to a control
+ // EXCEPTION: OCX Property Pages should return FALSE
+}
+
+LRESULT CExtraPage::OnKillActive(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
+{
+ // If we have a PropPage then Save it
+ if(m_pPropPage != NULL)
+ m_pPropPage->Apply();
+
+ return FALSE;
+}
+
+LRESULT CExtraPage::OnHelp(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
+{
+ WinHelp(NS_HELP_FILE, HELP_FINDER, 0);
+ return 1;
+}
+
+
+LRESULT CExtraPage::OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
+{
+ // If we have a PropPage then Close it
+ if(m_pPropPage != NULL)
+ m_pPropPage->Destroy();
+
+ return 0;
+}
diff --git a/Checklist/ExtraPage.h b/Checklist/ExtraPage.h
new file mode 100644
index 0000000..a1eb8c4
--- /dev/null
+++ b/Checklist/ExtraPage.h
@@ -0,0 +1,63 @@
+#if !defined(AFX_EXTRAPAGE_H__16823CC6_F3FB_11D2_A599_0020182B97FC__INCLUDED_)
+#define AFX_EXTRAPAGE_H__16823CC6_F3FB_11D2_A599_0020182B97FC__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+// ExtraPage.h : header file
+//
+#include "resource.h"
+
+#include <atlprsht.h>
+
+#include "../Common/PropPageHolder.h"
+
+#include <list>
+using std::list;
+
+/////////////////////////////////////////////////////////////////////////////
+// CExtraPage dialog
+
+class CExtraPage : public CPropertyPage
+{
+
+// Construction
+public:
+ CExtraPage(CPropertySheet* pSheet, CComponentHolder* pComponent,
+ CPropPageHolder* pPropPage)
+ : CPropertyPage(IDD_WIZEXTRA), m_pComponent(pComponent),
+ m_pPropPage(pPropPage), m_pParentSheet(pSheet)
+ {
+ SetHelp(true);
+ };
+
+ ~CExtraPage() {};
+
+BEGIN_MSG_MAP(CExtraPage)
+ MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
+ MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
+ NOTIFY_CODE_HANDLER(PSN_SETACTIVE , OnSetActive)
+ NOTIFY_CODE_HANDLER(PSN_KILLACTIVE , OnKillActive)
+ NOTIFY_CODE_HANDLER(PSN_HELP, OnHelp)
+END_MSG_MAP()
+
+
+// Messages
+public:
+ LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
+ LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
+ LRESULT OnSetActive(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+ LRESULT OnKillActive(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+ LRESULT OnHelp(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+
+
+// Implementation
+protected:
+ RECT m_rcPropPage;
+ CPropPageHolder* m_pPropPage;
+ CComponentHolder* m_pComponent;
+ CPropertySheet* m_pParentSheet;
+};
+
+#endif // !defined(AFX_EXTRAPAGE_H__16823CC6_F3FB_11D2_A599_0020182B97FC__INCLUDED_)
diff --git a/Checklist/FirstPage.cpp b/Checklist/FirstPage.cpp
new file mode 100644
index 0000000..3bdba17
--- /dev/null
+++ b/Checklist/FirstPage.cpp
@@ -0,0 +1,76 @@
+// FirstPage.cpp : implementation file
+//
+
+#include "stdafx.h"
+#include "FirstPage.h"
+
+
+/////////////////////////////////////////////////////////////////////////////
+// CFirstPage property page
+
+CFirstPage::CFirstPage(CPropertySheet* pParent, UINT nPos /*= WIZPAGE_MIDDLE*/)
+ : CPropertyPage(CFirstPage::IDD),
+
+ m_nPos(nPos) // Position in the Wizard (WIZPAGE_FIRST, WIZPAGE_MIDDLE
+ // or WIZPAGE_LAST)
+
+{
+ ASSERT(pParent); // Have to have a valid parent
+ m_pParentSheet = pParent; // or we can't survive
+ SetHelp(true);
+}
+
+CFirstPage::~CFirstPage()
+{
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// CFirstPage message handlers
+
+LRESULT CFirstPage::OnAdvanced(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
+{
+ // Pass IDC_ADVANCED advanced to caller
+ // as a signal to start advanced wizard
+ m_pParentSheet->EndDialog(IDC_ADVANCED);
+
+ return 1;
+}
+
+LRESULT CFirstPage::OnHelp(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
+{
+ WinHelp(NS_HELP_FILE, HELP_FINDER, 0);
+ return 1;
+}
+
+LRESULT CFirstPage::OnSetActive(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
+{
+ DWORD dwButtons;
+
+ // Depening on our Position in the Wizard
+ // Set the Buttons at the bottom on and off
+
+ switch(m_nPos){
+ case WIZPAGE_FIRST:
+ dwButtons = PSWIZB_NEXT;
+ break;
+ case WIZPAGE_LAST:
+ dwButtons = PSWIZB_BACK | PSWIZB_FINISH;
+ break;
+ default:
+ dwButtons = PSWIZB_BACK | PSWIZB_NEXT;
+ break;
+ }
+
+ m_pParentSheet->SetWizardButtons(dwButtons);
+
+ return 0;
+}
+
+LRESULT CFirstPage::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
+{
+ // Set the Help ID for our Help File
+// m_nIDHelp = 200;
+
+ return TRUE; // return TRUE unless you set the focus to a control
+ // EXCEPTION: OCX Property Pages should return FALSE
+}
diff --git a/Checklist/FirstPage.h b/Checklist/FirstPage.h
new file mode 100644
index 0000000..8511e25
--- /dev/null
+++ b/Checklist/FirstPage.h
@@ -0,0 +1,60 @@
+//////////////////////////////////////////////////////////////////
+//
+// FirstPage.h : header file
+//
+// First 'welcome' page of wizard. Not much in here
+//
+//////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_FIRSTPAGE_H__77AE1844_1B1F_11D2_B2D4_0020182B97FC__INCLUDED_)
+#define AFX_FIRSTPAGE_H__77AE1844_1B1F_11D2_B2D4_0020182B97FC__INCLUDED_
+
+#include "resource.h"
+#include <atlprsht.h>
+#include <ContextHelp.h>
+
+/////////////////////////////////////////////////////////////////////////////
+// CFirstPage dialog
+
+class CFirstPage
+ : public CPropertyPage,
+ public CContextHelp<CFirstPage>
+{
+
+// Construction
+public:
+ CFirstPage(CPropertySheet* pParent, UINT nPos = WIZPAGE_MIDDLE);
+ ~CFirstPage();
+
+// Dialog Data
+ enum { IDD = IDD_FIRSTPAGE };
+
+BEGIN_MSG_MAP(CFirstPage)
+ MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
+ NOTIFY_CODE_HANDLER(PSN_SETACTIVE, OnSetActive)
+ NOTIFY_CODE_HANDLER(PSN_HELP, OnHelp)
+ COMMAND_HANDLER(IDC_ADVANCED, BN_CLICKED, OnAdvanced)
+ CHAIN_MSG_MAP(CContextHelp<CFirstPage>)
+END_MSG_MAP()
+
+BEGIN_HELP_MAP(NS_HELP_FILE)
+ HELP_ID(IDC_ADVANCED, 3001)
+END_HELP_MAP
+
+// Messages
+public:
+ LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
+ LRESULT OnAdvanced(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
+ LRESULT OnHelp(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+ LRESULT OnSetActive(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+
+// Implementation
+protected:
+ CPropertySheet* m_pParentSheet;
+ const UINT m_nPos;
+};
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_FIRSTPAGE_H__77AE1844_1B1F_11D2_B2D4_0020182B97FC__INCLUDED_)
diff --git a/Checklist/NightSecWizard.cpp b/Checklist/NightSecWizard.cpp
new file mode 100644
index 0000000..d394d07
--- /dev/null
+++ b/Checklist/NightSecWizard.cpp
@@ -0,0 +1,291 @@
+// NightSecWizard.cpp: implementation of the CNightSecWizard class.
+//
+//////////////////////////////////////////////////////////////////////
+
+#include "stdafx.h"
+#include "NightSecWizard.h"
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+CNightSecWizard::~CNightSecWizard()
+{
+ PropertyPageMap::iterator iter = m_mapPages.begin();
+
+ for( ; iter != m_mapPages.end(); iter++)
+ delete iter->second;
+
+ m_mapPages.clear();
+};
+
+HRESULT CNightSecWizard::LoadPropertyPages(CComponentHolder* pComponent)
+{
+ IUnknown* pUnk = pComponent->GetUnknown();
+
+ IUnknown* apUnks[2];
+ apUnks[0] = pUnk;
+ apUnks[1] = pComponent->GetData()->GetUnknown();
+
+ // Don't use smart pointer here because we'll probably
+ // copy this to our map
+ IPropertyPage* pPage;
+ HRESULT hr = pUnk->QueryInterface(IID_IPropertyPage, (void**)&pPage);
+
+ // Found a single property page
+ if(SUCCEEDED(hr))
+ {
+ // Add to map and return
+ hr = pPage->SetObjects(countof(apUnks), apUnks);
+
+ if(SUCCEEDED(hr))
+ {
+ CPropPageHolder* pPropPage = new CComObjectMember<CPropPageHolder>;
+ hr = pPropPage->Initialize(pPage, GetUnknown());
+
+ if(SUCCEEDED(hr))
+ m_mapPages.insert(make_pair(pComponent, pPropPage));
+ else
+ delete pPropPage;
+ }
+
+ pPage->Release();
+ return hr;
+ }
+
+ // Look for multiple property pages
+ ISpecifyPropertyPagesPtr pPages = pUnk;
+
+ if(pPages)
+ {
+ CAUUID cauuid;
+ memset(&cauuid, 0, sizeof(CAUUID));
+
+ hr = pPages->GetPages(&cauuid);
+
+ if(FAILED(hr))
+ return hr;
+
+ HRESULT hRet = S_FALSE;
+
+ for(int nCnt = 0; nCnt < cauuid.cElems; nCnt++)
+ {
+ IPropertyPagePtr pPage;
+ hr = pPage.CreateInstance(cauuid.pElems[nCnt], NULL);
+
+ if(FAILED(hr))
+ continue;
+
+ hr = pPage->SetObjects(countof(apUnks), apUnks);
+
+ if(SUCCEEDED(hr))
+ {
+ CPropPageHolder* pPropPage = new CComObjectMember<CPropPageHolder>;
+ hr = pPropPage->Initialize(pPage, GetUnknown());
+
+ if(SUCCEEDED(hr))
+ {
+ m_mapPages.insert(make_pair(pComponent, pPropPage));
+ hRet = S_OK;
+ }
+ }
+
+ }
+
+ CoTaskMemFree(cauuid.pElems);
+
+ return hRet;
+ }
+
+ return S_FALSE;
+}
+
+IUnknown* CNightSecWizard::GetIUnknown(bool bAddRef /*= false*/)
+{
+ // If asked not to increment then Release
+ if(bAddRef)
+ this->AddRef();
+
+ return GetUnknown();
+}
+
+void CNightSecWizard::SetSite(IUnknown* pSite /*= NULL*/)
+{
+ if(!pSite)
+ pSite = GetUnknown();
+
+ IUnknown* pUnk = NULL;
+ IObjectWithSitePtr pWithSite;
+
+ // Cycle through components and set Site Pointer
+ for(int nCnt = 0; nCnt < g_aComponents.size(); nCnt++)
+ {
+ if(pUnk = g_aComponents[nCnt]->GetUnknown())
+ {
+ pWithSite = pUnk;
+
+ if(pWithSite != NULL)
+ pWithSite->SetSite(pSite);
+
+ pUnk->Release();
+ }
+ }
+}
+
+void CNightSecWizard::ClearSite()
+{
+ IUnknown* pUnk = NULL;
+ IObjectWithSitePtr pWithSite;
+
+ // Cycle through Components and Clear Site Pointer
+ for(int nCnt = 0; nCnt < g_aComponents.size(); nCnt++)
+ {
+ if(pUnk = g_aComponents[nCnt]->GetUnknown())
+ {
+ pWithSite = pUnk;
+
+ if(pWithSite != NULL)
+ pWithSite->SetSite(NULL);
+
+ pUnk->Release();
+ }
+ }
+}
+
+LRESULT CNightSecWizard::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
+{
+ // Make sure that that CPropertySheet::OnInitDialog gets called
+ bHandled = FALSE;
+
+ ModifyStyle(0, WS_SYSMENU);
+ ModifyStyleEx(0, WS_EX_APPWINDOW | WS_EX_CONTEXTHELP);
+ SetWindowText(_T("Night Security Checklist"));
+
+
+ return 0;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+// CAdvancedWizard
+
+LRESULT CAdvancedWizardT::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
+{
+ // Make sure that that CPropertySheet::OnInitDialog gets called
+ bHandled = FALSE;
+
+ SetSite();
+
+ // Cycle through components and...
+ for(int nCnt = 0; nCnt < g_aComponents.size(); nCnt++)
+ {
+ // And Load Property Pages for that Component
+ LoadPropertyPages(g_aComponents[nCnt]);
+ }
+
+ return 0;
+}
+
+LRESULT CAdvancedWizardT::OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
+{
+ ClearSite();
+
+ // And Destroy all Property Pages
+ PropertyPageMap::iterator iter = m_mapPages.begin();
+ for( ; iter != m_mapPages.end(); iter++)
+ iter->second->Destroy();
+
+ return 0;
+}
+
+STDMETHODIMP CAdvancedWizardT::get_Info(/*[in]*/ NightSecSiteInfo nsItem, /*[out, retval]*/ VARIANT* pvVal)
+{
+ ::VariantClear(pvVal);
+
+ // CComBSTR bsRetVal;
+ switch(nsItem)
+ {
+ case nsAdvanced:
+ pvVal->vt = VT_BOOL;
+ pvVal->bVal = TRUE;
+ return S_OK;
+ }
+
+ return S_FALSE;
+}
+
+
+////////////////////////////////////////////////////////////////////////////////
+// CNormalWizard
+
+CNormalWizardT::~CNormalWizardT()
+{
+ ExtraPageArray::iterator iter = m_aPages.begin();
+ for( ; iter != m_aPages.end(); iter++)
+ delete *iter;
+
+ m_aPages.clear();
+}
+
+STDMETHODIMP CNormalWizardT::get_Info(/*[in]*/ NightSecSiteInfo nsItem, /*[out, retval]*/ VARIANT* pvVal)
+{
+ ::VariantClear(pvVal);
+
+ // CComBSTR bsRetVal;
+ switch(nsItem)
+ {
+ case nsAdvanced:
+ pvVal->vt = VT_BOOL;
+ pvVal->bVal = FALSE;
+ return S_OK;
+ }
+
+ return S_FALSE;
+}
+
+LRESULT CNormalWizardT::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
+{
+ // Make sure that that CPropertySheet::OnInitDialog gets called
+ bHandled = FALSE;
+
+ if(!m_bSiteSet)
+ {
+ SetSite();
+ m_bSiteSet = true;
+ }
+
+ return 0;
+};
+
+LRESULT CNormalWizardT::OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
+{
+ ClearSite();
+
+ PropertyPageMap::iterator iter = m_mapPages.begin();
+ for( ; iter != m_mapPages.end(); iter++)
+ iter->second->Destroy();
+
+ return 0;
+};
+
+void CNormalWizardT::AddExtraPages()
+{
+ if(!m_bSiteSet)
+ {
+ SetSite();
+ m_bSiteSet = true;
+ }
+
+ for(int nCnt = 0; nCnt < g_aComponents.size(); nCnt++)
+ {
+ if(g_aComponents[nCnt]->GetInfoInt(nsForceShow, 0))
+ LoadPropertyPages(g_aComponents[nCnt]);
+ }
+
+ PropertyPageMap::iterator iter = m_mapPages.begin();
+ for( ; iter != m_mapPages.end(); iter++)
+ {
+ CExtraPage* pPage = new CExtraPage(this, iter->first, iter->second);
+ AddPage(pPage);
+ m_aPages.insert(m_aPages.end(), pPage);
+ }
+}
diff --git a/Checklist/NightSecWizard.h b/Checklist/NightSecWizard.h
new file mode 100644
index 0000000..3f2d1f0
--- /dev/null
+++ b/Checklist/NightSecWizard.h
@@ -0,0 +1,151 @@
+// NightSecWizard.h: interface for the CNightSecWizard class.
+//
+//////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_NIGHTSECWIZARD_H__E7FC7C13_8F86_11D3_BFBC_0020182B97FC__INCLUDED_)
+#define AFX_NIGHTSECWIZARD_H__E7FC7C13_8F86_11D3_BFBC_0020182B97FC__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "Checklist.h"
+#include "../common/Interfaces.h"
+#include "../common/proppageholder.h"
+
+#include "contexthelp.h"
+
+#define countof(a) (sizeof(a) / sizeof(a[0]))
+
+#include <map>
+using std::multimap;
+typedef multimap < CComponentHolder*, CPropPageHolder* > PropertyPageMap;
+
+#include <atlprsht.h>
+
+class ATL_NO_VTABLE CNightSecWizard :
+ public CComObjectRootEx<CComMultiThreadModel>,
+ public IDispatchImpl<INightSecSiteInfo, &IID_INightSecSiteInfo, &LIBID_CHECKLISTLib>,
+ public CPropertySheet,
+ public CContextHelp<CNightSecWizard>
+{
+
+// Construction
+public:
+ CNightSecWizard()
+ : CPropertySheet(_T("Night Security Checklist"), NULL, 0)
+ {
+ SetWizardMode();
+ SetHelp(true);
+ }
+
+ virtual ~CNightSecWizard();
+
+// For Base Classes
+protected:
+ HRESULT LoadPropertyPages(CComponentHolder* pComponent);
+ IUnknown* GetIUnknown(bool bAddRef = false);
+ void SetSite(IUnknown* pSite = NULL);
+ void ClearSite();
+
+// COM Interface support
+DECLARE_PROTECT_FINAL_CONSTRUCT()
+
+BEGIN_COM_MAP(CNightSecWizard)
+ COM_INTERFACE_ENTRY(IDispatch)
+ COM_INTERFACE_ENTRY(INightSecSiteInfo)
+END_COM_MAP()
+
+BEGIN_MSG_MAP(CNightSecWizard)
+ MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
+ CHAIN_MSG_MAP(CContextHelp<CNightSecWizard>)
+ CHAIN_MSG_MAP(CPropertySheet)
+END_MSG_MAP()
+
+BEGIN_HELP_MAP(NS_HELP_FILE)
+ HELP_ID(ID_WIZBACK, 502)
+ HELP_ID(ID_WIZNEXT, 501)
+ HELP_ID(ID_WIZFINISH, 503)
+END_HELP_MAP
+
+ LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
+
+// Data
+public:
+ PropertyPageMap m_mapPages;
+};
+
+
+class CAdvancedWizardT : public CNightSecWizard
+{
+public:
+ CAdvancedWizardT()
+ { }
+ virtual ~CAdvancedWizardT() {}
+
+// Message Map
+BEGIN_MSG_MAP(CAdvancedWizardT)
+ MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
+ MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
+ CHAIN_MSG_MAP(CNightSecWizard)
+END_MSG_MAP()
+
+// Message Handlers
+protected:
+ LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
+ LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
+
+// INightSecSiteInfo
+public:
+ STDMETHOD(get_Info)(/*[in]*/ NightSecSiteInfo nsItem, /*[out, retval]*/ VARIANT* pvVal);
+
+};
+
+typedef CComObjectMember<CAdvancedWizardT> CAdvancedWizard;
+
+
+
+#include "ExtraPage.h"
+
+#include <vector>
+using std::vector;
+typedef vector<CExtraPage*> ExtraPageArray;
+
+
+class CNormalWizardT : public CNightSecWizard
+{
+public:
+ CNormalWizardT()
+ {
+ m_bSiteSet = false;
+ }
+ virtual ~CNormalWizardT();
+
+// Message Map
+BEGIN_MSG_MAP(CNormalWizardT)
+ MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
+ MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
+ CHAIN_MSG_MAP(CNightSecWizard)
+END_MSG_MAP()
+
+// Message Handlers
+protected:
+ LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
+ LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
+
+// Operations
+public:
+ void AddExtraPages();
+
+// INightSecSiteInfo
+public:
+ STDMETHOD(get_Info)(/*[in]*/ NightSecSiteInfo nsItem, /*[out, retval]*/ VARIANT* pvVal);
+
+protected:
+ ExtraPageArray m_aPages;
+ bool m_bSiteSet;
+};
+
+typedef CComObjectMember<CNormalWizardT> CNormalWizard;
+
+#endif // !defined(AFX_NIGHTSECWIZARD_H__E7FC7C13_8F86_11D3_BFBC_0020182B97FC__INCLUDED_)
diff --git a/Checklist/NormalPage.cpp b/Checklist/NormalPage.cpp
new file mode 100644
index 0000000..de35ff2
--- /dev/null
+++ b/Checklist/NormalPage.cpp
@@ -0,0 +1,189 @@
+// NormalPage.cpp : implementation file
+//
+
+#include "stdafx.h"
+#include "NormalPage.h"
+#include "ExtraPage.h"
+
+/////////////////////////////////////////////////////////////////////////////
+// CNormalPage property page
+
+
+CNormalPage::CNormalPage(CPropertySheet* pParent, UINT nPos)
+ : CPropertyPage(IDD),
+ m_nPos(nPos)
+{
+ ASSERT(pParent); // Have to have a valid parent
+ m_pParentSheet = pParent; // or we can't survive
+ SetHelp(true);
+}
+
+CNormalPage::~CNormalPage()
+{
+ m_pParentSheet = NULL;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// CNormalPage message handlers
+
+LRESULT CNormalPage::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
+{
+ m_ctlCheck.SubclassWindow(GetDlgItem(IDC_COMPONENTS));
+
+ int nIndex = 0;
+
+ // Loop through and Add Components to Box
+ for(int nCnt = 0; nCnt < g_aComponents.size(); nCnt++)
+ {
+ // Only show if enabled or Not a component that Hides in Normal Mode
+ if(!g_aComponents[nCnt]->GetInfoInt(nsHideNormal, FALSE) || g_aComponents[nCnt]->IsEnabled())
+ {
+ // Add the Title
+ nIndex = m_ctlCheck.AddString(g_aComponents[nCnt]->GetName());
+
+ // Save a Pointer to the component in the Listbox Data
+ m_ctlCheck.SetItemDataPtr(nIndex, (void*)g_aComponents[nCnt]);
+
+ // Check if Enabled
+ m_ctlCheck.SetCheck(nIndex, g_aComponents[nCnt]->IsEnabled());
+ }
+
+ }
+
+ // Select first item and display help text
+ m_ctlCheck.SetCurSel(0);
+ SetTips();
+
+ // Set the Help ID for our Help File
+// m_nIDHelp = 1;
+
+ return TRUE; // return TRUE unless you set the focus to a control
+ // EXCEPTION: OCX Property Pages should return FALSE
+}
+
+//////////////////////////////////////////////////////////////////
+// When the Finish Button on Wizard is pressed
+
+LRESULT CNormalPage::OnWizBack(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
+{
+ // Save Pos and Enabled Status
+ SaveChanges();
+ return 0;
+}
+
+//////////////////////////////////////////////////////////////////
+// Have to save our changes when focus changes cause
+// OnWizardFinish doesn't get called for each sheet
+
+LRESULT CNormalPage::OnWizFinish(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
+{
+ SaveChanges();
+ return 0;
+}
+
+//////////////////////////////////////////////////////////////////
+// Have to save our changes when focus changes cause
+// OnWizardFinish doesn't get called for each sheet
+
+LRESULT CNormalPage::OnWizNext(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
+{
+ SaveChanges();
+ return 0;
+}
+
+LRESULT CNormalPage::OnHelp(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
+{
+ WinHelp(NS_HELP_FILE, HELP_FINDER, 0);
+ return 1;
+}
+
+//////////////////////////////////////////////////////////////////
+// Make sure our buttons are properly enabled based on our
+// position (passed in constructor)
+
+LRESULT CNormalPage::OnSetActive(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
+{
+ DWORD dwButtons;
+
+ // Depening on our Position in the Wizard
+ // Set the Buttons at the bottom on and off
+
+ switch(m_nPos)
+ {
+ case WIZPAGE_FIRST:
+ dwButtons = PSWIZB_NEXT;
+ break;
+ case WIZPAGE_LAST:
+ dwButtons = PSWIZB_BACK | PSWIZB_FINISH;
+ break;
+ default:
+ dwButtons = PSWIZB_BACK | PSWIZB_NEXT;
+ break;
+ }
+
+ m_pParentSheet->SetWizardButtons(dwButtons);
+
+ return 0;
+}
+
+
+//////////////////////////////////////////////////////////////////
+// Basically saves Position of component and Enabled Status
+
+HRESULT CNormalPage::SaveChanges()
+{
+ HRESULT hrRet = S_OK;
+ CComponentHolder* pComponent;
+
+ // Loop though and save Pos and Enabled Status
+ for(int nCnt = 0; nCnt < m_ctlCheck.GetCount(); nCnt++) {
+
+ // Get the Pointer from Listbox Data
+ pComponent = (CComponentHolder*)m_ctlCheck.GetItemDataPtr(nCnt);
+
+ if(pComponent)
+ {
+ // Save to Component Data
+ pComponent->Enable(m_ctlCheck.GetCheck(nCnt) ? true : false);
+// pComponent->SetPos((nCnt * 2) + m_nType - 1); // Need special calculations because we have a number of type sharing same position list
+
+ }
+ else
+
+ // Bummed out and don't know why
+ hrRet = E_UNEXPECTED;
+
+ }
+
+ return hrRet;
+
+}
+
+//////////////////////////////////////////////////////////////////
+// Change Help text for each new component
+
+LRESULT CNormalPage::OnComponentsSelChange(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
+{
+ SetTips();
+ return 1;
+}
+
+//////////////////////////////////////////////////////////////////
+// Display Help Text
+
+void CNormalPage::SetTips()
+{
+
+ // Get current selection
+ int nCurSel = m_ctlCheck.GetCurSel();
+
+ if(nCurSel == LB_ERR)
+ return;
+
+ // Get current selection
+ CComponentHolder* pComponent = (CComponentHolder*)m_ctlCheck.GetItemDataPtr(nCurSel);
+
+ if(pComponent)
+ SetDlgItemText(IDC_TIPS, pComponent->GetInfoStr(nsHelpText, _T("(No help available)")));
+}
+
diff --git a/Checklist/NormalPage.h b/Checklist/NormalPage.h
new file mode 100644
index 0000000..bdcf41c
--- /dev/null
+++ b/Checklist/NormalPage.h
@@ -0,0 +1,78 @@
+//////////////////////////////////////////////////////////////////
+//
+// NormalPage.h : header file
+//
+// Holds one Page for the Normal Wizard
+//
+// Uses the Type, IDD, and Position passed to constructor
+// to behave correctly in Wizard
+//
+//////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_NORMALPAGE_H__99170CE8_1A56_11D2_B2D4_0020182B97FC__INCLUDED_)
+#define AFX_NORMALPAGE_H__99170CE8_1A56_11D2_B2D4_0020182B97FC__INCLUDED_
+
+#if _MSC_VER >= 1000
+#pragma once
+#endif // _MSC_VER >= 1000
+
+#include "resource.h"
+#include <atllstbx.h>
+#include <atlprsht.h>
+#include <ContextHelp.h>
+
+/////////////////////////////////////////////////////////////////////////////
+// CNormalPage dialog
+
+class CNormalPage
+ : public CPropertyPage,
+ public CContextHelp<CNormalPage>
+{
+
+// Construction
+public:
+ CNormalPage(CPropertySheet* pParent, UINT nPos = WIZPAGE_MIDDLE);
+ ~CNormalPage();
+
+ HRESULT SaveChanges();
+
+// Dialog Data
+ enum { IDD = IDD_WIZ };
+ CCheckListBox m_ctlCheck;
+
+BEGIN_MSG_MAP(CNormalPage)
+ MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
+ NOTIFY_CODE_HANDLER(PSN_SETACTIVE, OnSetActive)
+ NOTIFY_CODE_HANDLER(PSN_WIZFINISH, OnWizFinish)
+ NOTIFY_CODE_HANDLER(PSN_WIZBACK, OnWizBack)
+ NOTIFY_CODE_HANDLER(PSN_WIZNEXT, OnWizNext)
+ NOTIFY_CODE_HANDLER(PSN_HELP, OnHelp)
+ COMMAND_HANDLER(IDC_COMPONENTS, LBN_SELCHANGE, OnComponentsSelChange)
+ REFLECT_NOTIFICATIONS()
+ CHAIN_MSG_MAP(CContextHelp<CNormalPage>)
+END_MSG_MAP()
+
+BEGIN_HELP_MAP(NS_HELP_FILE)
+ HELP_ID(IDC_COMPONENTS, 3002)
+END_HELP_MAP
+
+// Messages
+public:
+ LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
+ LRESULT OnComponentsSelChange(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
+ LRESULT OnWizFinish(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+ LRESULT OnSetActive(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+ LRESULT OnWizBack(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+ LRESULT OnWizNext(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+ LRESULT OnHelp(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
+
+// Implementation
+protected:
+ // Set's the Help Text item
+ CPropertySheet* m_pParentSheet;
+ UINT m_nPos;
+ void SetTips();
+
+};
+
+#endif // !defined(AFX_NORMALPAGE_H__99170CE8_1A56_11D2_B2D4_0020182B97FC__INCLUDED_)
diff --git a/Checklist/StdAfx.cpp b/Checklist/StdAfx.cpp
new file mode 100644
index 0000000..a5eea17
--- /dev/null
+++ b/Checklist/StdAfx.cpp
@@ -0,0 +1,12 @@
+// stdafx.cpp : source file that includes just the standard includes
+// stdafx.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+#ifdef _ATL_STATIC_REGISTRY
+#include <statreg.h>
+#include <statreg.cpp>
+#endif
+
+#include <atlimpl.cpp>
diff --git a/Checklist/StdAfx.h b/Checklist/StdAfx.h
new file mode 100644
index 0000000..78beb2e
--- /dev/null
+++ b/Checklist/StdAfx.h
@@ -0,0 +1,44 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently,
+// but are changed infrequently
+
+#if !defined(AFX_STDAFX_H__19178A38_7FDB_11D3_BF9E_0020182B97FC__INCLUDED_)
+#define AFX_STDAFX_H__19178A38_7FDB_11D3_BF9E_0020182B97FC__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#define STRICT
+
+#define _ATL_APARTMENT_THREADED
+
+// Windows 95 Compatible
+#undef WINVER
+#define WINVER 0x0400
+#undef _WIN32_WINNT
+
+// Don't want our program dependant on some browser!
+#undef _WIN32_IE
+#define _WIN32_IE 0x0000
+
+#include <comdef.h>
+#include <atlbase.h>
+//You may derive a class from CComModule and use it if you want to override
+//something, but do not change the name of _Module
+
+#include "../common/types.h"
+#include "checklistapp.h"
+
+
+extern CChecklistApp _Module;
+#include <atlcom.h>
+#include <atlwin.h>
+
+#include "../common/componentarray.h"
+extern CComponentArray g_aComponents;
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_STDAFX_H__19178A38_7FDB_11D3_BF9E_0020182B97FC__INCLUDED)
diff --git a/Checklist/dlldata.c b/Checklist/dlldata.c
new file mode 100644
index 0000000..b323653
--- /dev/null
+++ b/Checklist/dlldata.c
@@ -0,0 +1,38 @@
+/*********************************************************
+ DllData file -- generated by MIDL compiler
+
+ DO NOT ALTER THIS FILE
+
+ This file is regenerated by MIDL on every IDL file compile.
+
+ To completely reconstruct this file, delete it and rerun MIDL
+ on all the IDL files in this DLL, specifying this file for the
+ /dlldata command line option
+
+*********************************************************/
+
+#define PROXY_DELEGATION
+
+#include <rpcproxy.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EXTERN_PROXY_FILE( Checklist )
+
+
+PROXYFILE_LIST_START
+/* Start of list */
+ REFERENCE_PROXY_FILE( Checklist ),
+/* End of list */
+PROXYFILE_LIST_END
+
+
+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )
+
+#ifdef __cplusplus
+} /*extern "C" */
+#endif
+
+/* end of generated dlldata file */
diff --git a/Checklist/res/Night Security Setup.ico b/Checklist/res/Night Security Setup.ico
new file mode 100644
index 0000000..85cda5f
--- /dev/null
+++ b/Checklist/res/Night Security Setup.ico
Binary files differ
diff --git a/Checklist/res/Night Security Stub.ico b/Checklist/res/Night Security Stub.ico
new file mode 100644
index 0000000..2b50f8a
--- /dev/null
+++ b/Checklist/res/Night Security Stub.ico
Binary files differ
diff --git a/Checklist/res/bitmap2.bmp b/Checklist/res/bitmap2.bmp
new file mode 100644
index 0000000..8f39942
--- /dev/null
+++ b/Checklist/res/bitmap2.bmp
Binary files differ
diff --git a/Checklist/res/ico00002.ico b/Checklist/res/ico00002.ico
new file mode 100644
index 0000000..0faf9dc
--- /dev/null
+++ b/Checklist/res/ico00002.ico
Binary files differ
diff --git a/Checklist/res/ico00003.ico b/Checklist/res/ico00003.ico
new file mode 100644
index 0000000..9e7944d
--- /dev/null
+++ b/Checklist/res/ico00003.ico
Binary files differ
diff --git a/Checklist/res/menu.bmp b/Checklist/res/menu.bmp
new file mode 100644
index 0000000..1b53004
--- /dev/null
+++ b/Checklist/res/menu.bmp
Binary files differ
diff --git a/Checklist/res/nightsec.bmp b/Checklist/res/nightsec.bmp
new file mode 100644
index 0000000..43c8a08
--- /dev/null
+++ b/Checklist/res/nightsec.bmp
Binary files differ
diff --git a/Checklist/res/shutdown.ico b/Checklist/res/shutdown.ico
new file mode 100644
index 0000000..7c7a2d0
--- /dev/null
+++ b/Checklist/res/shutdown.ico
Binary files differ
diff --git a/Checklist/resource.h b/Checklist/resource.h
new file mode 100644
index 0000000..a1dab04
--- /dev/null
+++ b/Checklist/resource.h
@@ -0,0 +1,43 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by Checklist.rc
+//
+#define IDS_PROJNAME 100
+#define IDR_Checklist 100
+#define IDP_REGISTER_FAILED 101
+#define IDR_MAINFRAME 128
+#define IDB_NORMAL 132
+#define IDI_SHUTDOWN 133
+#define IDI_NOTE 134
+#define IDI_ITEMS 135
+#define IDD_FIRSTPAGE 136
+#define IDD_WIZEXTRA 141
+#define IDD_WIZ 143
+#define IDD_LASTPAGE 145
+#define IDB_MENU 146
+#define IDB_ADVOPTIONS 148
+#define IDD_ADVWIZDOS 148
+#define IDD_ADVWIZWIN 149
+#define IDD_ADVWIZWIN1 150
+#define IDD_ADVWIZDOS1 151
+#define IDB_CHECKLISTBOX 201
+#define IDC_PAGETABS 202
+#define IDB_ADVANCED 207
+#define IDC_SHUTDOWN 1005
+#define IDC_COMPONENTS 1011
+#define IDC_ADVANCED 1015
+#define IDC_TIPS 1016
+#define IDC_HEADERTEXT 1018
+#define IDC_PROPHOLDER 1019
+#define ID_STATIC 65535
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 202
+#define _APS_NEXT_COMMAND_VALUE 32768
+#define _APS_NEXT_CONTROL_VALUE 204
+#define _APS_NEXT_SYMED_VALUE 102
+#endif
+#endif