INPROC.CPP
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:3k
源码类别:

Windows编程

开发平台:

Visual C++

  1. // inproc.cpp : Defines the class behaviors for the application.
  2. //
  3. // This is a part of the Microsoft Foundation Classes C++ library.
  4. // Copyright (C) 1992-1998 Microsoft Corporation
  5. // All rights reserved.
  6. //
  7. // This source code is only intended as a supplement to the
  8. // Microsoft Foundation Classes Reference and related
  9. // electronic documentation provided with the library.
  10. // See these sources for detailed information regarding the
  11. // Microsoft Foundation Classes product.
  12. #include "stdafx.h"
  13. #include "inproc.h"
  14. #ifdef _DEBUG
  15. #undef THIS_FILE
  16. static char BASED_CODE THIS_FILE[] = __FILE__;
  17. #endif
  18. /////////////////////////////////////////////////////////////////////////////
  19. // CInProcApp
  20. BEGIN_MESSAGE_MAP(CInProcApp, CWinApp)
  21. //{{AFX_MSG_MAP(CInProcApp)
  22. // NOTE - the ClassWizard will add and remove mapping macros here.
  23. //    DO NOT EDIT what you see in these blocks of generated code!
  24. //}}AFX_MSG_MAP
  25. END_MESSAGE_MAP()
  26. /////////////////////////////////////////////////////////////////////////////
  27. // CInProcApp construction
  28. CInProcApp::CInProcApp()
  29. {
  30. // TODO: add construction code here,
  31. // Place all significant initialization in InitInstance
  32. }
  33. /////////////////////////////////////////////////////////////////////////////
  34. // The one and only CInProcApp object
  35. CInProcApp NEAR theApp;
  36. /////////////////////////////////////////////////////////////////////////////
  37. // CInProcApp initialization
  38. BOOL CInProcApp::InitInstance()
  39. {
  40. #ifndef _USRDLL
  41. if (!RunEmbedded() && !RunAutomated())
  42. {
  43. Enable3dControls();
  44. COleObjectFactory::UpdateRegistryAll();
  45. AfxMessageBox(IDP_CANT_RUN_STANDALONE);
  46. return FALSE;
  47. }
  48. // Initialize OLE libraries
  49. if (!AfxOleInit())
  50. {
  51. Enable3dControls();
  52. AfxMessageBox(IDP_OLE_INIT_FAILED);
  53. return FALSE;
  54. }
  55. #endif
  56. // Register all OLE server (factories) as running.  This enables the
  57. //  OLE libraries to create objects from other applications.
  58. COleObjectFactory::RegisterAll();
  59. return TRUE;
  60. }
  61. /////////////////////////////////////////////////////////////////////////////
  62. // Special entry points required for inproc servers
  63. #ifdef _USRDLL
  64. STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
  65. {
  66. AFX_MANAGE_STATE(AfxGetStaticModuleState());
  67. return AfxDllGetClassObject(rclsid, riid, ppv);
  68. }
  69. STDAPI DllCanUnloadNow(void)
  70. {
  71. AFX_MANAGE_STATE(AfxGetStaticModuleState());
  72. return AfxDllCanUnloadNow();
  73. }
  74. // by exporting DllRegisterServer, you can use regsvr.exe
  75. STDAPI DllRegisterServer(void)
  76. {
  77. AFX_MANAGE_STATE(AfxGetStaticModuleState());
  78. COleObjectFactory::UpdateRegistryAll();
  79. return S_OK;
  80. }
  81. #endif //_USRDLL
  82. /////////////////////////////////////////////////////////////////////////////
  83. // CInProcApp commands