118 lines
3.2 KiB
C++
118 lines
3.2 KiB
C++
//+---------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1993 - 1997.
|
|
//
|
|
// File: olecnfg.cpp
|
|
//
|
|
// Contents: Implements the class COlecnfgApp - the top level class
|
|
// for dcomcnfg.exe
|
|
//
|
|
// Classes:
|
|
//
|
|
// Methods: COlecnfgApp::COlecnfgApp
|
|
// COlecnfgApp::InitInstance
|
|
//
|
|
// History: 23-Apr-96 BruceMa Created.
|
|
//
|
|
//----------------------------------------------------------------------
|
|
|
|
|
|
#include "stdafx.h"
|
|
#include "afxtempl.h"
|
|
#include "olecnfg.h"
|
|
#include "CStrings.h"
|
|
#include "CReg.h"
|
|
#include "types.h"
|
|
#include "datapkt.h"
|
|
#include "virtreg.h"
|
|
#include "CnfgPSht.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// COlecnfgApp
|
|
|
|
BEGIN_MESSAGE_MAP(COlecnfgApp, CWinApp)
|
|
//{{AFX_MSG_MAP(COlecnfgApp)
|
|
// NOTE - the ClassWizard will add and remove mapping macros here.
|
|
// DO NOT EDIT what you see in these blocks of generated code!
|
|
ON_COMMAND(ID_CONTEXT_HELP, CWinApp::OnContextHelp)
|
|
//}}AFX_MSG
|
|
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// COlecnfgApp construction
|
|
|
|
COlecnfgApp::COlecnfgApp()
|
|
{
|
|
// TODO: add construction code here,
|
|
// Place all significant initialization in InitInstance
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// The one and only COlecnfgApp object
|
|
|
|
COlecnfgApp theApp;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// COlecnfgApp initialization
|
|
|
|
BOOL COlecnfgApp::InitInstance()
|
|
{
|
|
// Standard initialization
|
|
// If you are not using these features and wish to reduce the size
|
|
// of your final executable, you should remove from the following
|
|
// the specific initialization routines you do not need.
|
|
|
|
#ifdef _AFXDLL
|
|
Enable3dControls(); // Call this when using MFC in a shared DLL
|
|
#else
|
|
Enable3dControlsStatic(); // Call this when linking to MFC statically
|
|
#endif
|
|
|
|
// This tool really so only be run by administrators. We check this
|
|
// by trying to get KEY_ALL_ACCESS rights to
|
|
// HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OLE
|
|
HKEY hKey;
|
|
|
|
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\OLE"),
|
|
0, KEY_ALL_ACCESS, &hKey)
|
|
!= ERROR_SUCCESS)
|
|
{
|
|
CString sCaption;
|
|
CString sMessage;
|
|
|
|
sCaption.LoadString(IDS_SYSTEMMESSAGE);
|
|
sMessage.LoadString(IDS_ADMINSONLY);
|
|
MessageBox(NULL, sMessage, sCaption, MB_OK);
|
|
return FALSE;
|
|
}
|
|
|
|
// The main body of oleui
|
|
COlecnfgPropertySheet psht;
|
|
m_pMainWnd = &psht;
|
|
INT_PTR nResponse = psht.DoModal();
|
|
if (nResponse == IDOK)
|
|
{
|
|
g_virtreg.Ok(0);
|
|
}
|
|
else if (nResponse == IDCANCEL)
|
|
{
|
|
g_virtreg.Cancel(0);
|
|
}
|
|
|
|
// Remove the virtual registry
|
|
g_virtreg.RemoveAll();
|
|
|
|
// Since the dialog has been closed, return FALSE so that we exit the
|
|
// application, rather than start the application's message pump.
|
|
return FALSE;
|
|
}
|
|
|