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

Windows编程

开发平台:

Visual C++

  1. // guidgen.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 "guidgen.h"
  14. #include "guidgdlg.h"
  15. #ifdef _DEBUG
  16. #undef THIS_FILE
  17. static char BASED_CODE THIS_FILE[] = __FILE__;
  18. #endif
  19. /////////////////////////////////////////////////////////////////////////////
  20. // CGuidGenApp
  21. BEGIN_MESSAGE_MAP(CGuidGenApp, CWinApp)
  22. //{{AFX_MSG_MAP(CGuidGenApp)
  23. // NOTE - the ClassWizard will add and remove mapping macros here.
  24. //    DO NOT EDIT what you see in these blocks of generated code!
  25. //}}AFX_MSG
  26. ON_COMMAND(ID_HELP, CWinApp::OnHelp)
  27. END_MESSAGE_MAP()
  28. /////////////////////////////////////////////////////////////////////////////
  29. // CGuidGenApp construction
  30. CGuidGenApp::CGuidGenApp()
  31. {
  32. // TODO: add construction code here,
  33. // Place all significant initialization in InitInstance
  34. }
  35. /////////////////////////////////////////////////////////////////////////////
  36. // The one and only CGuidGenApp object
  37. CGuidGenApp theApp;
  38. /////////////////////////////////////////////////////////////////////////////
  39. // CGuidGenApp initialization
  40. BOOL CGuidGenApp::InitInstance()
  41. {
  42. SetRegistryKey(_T("Microsoft\MFC 3.0 Samples"));
  43. // Standard initialization
  44. // If you are not using these features and wish to reduce the size
  45. //  of your final executable, you should remove from the following
  46. //  the specific initialization routines you do not need.
  47. Enable3dControls();
  48. if (::CoInitialize(NULL) != S_OK)
  49. {
  50. AfxMessageBox(IDP_ERR_INIT_OLE);
  51. return FALSE;
  52. }
  53. // process command line arguments
  54. CWnd* pParentWnd = NULL;
  55. for (LPCTSTR lpsz = m_lpCmdLine; *lpsz != 0; ++lpsz)
  56. {
  57. if (*lpsz != '-' && *lpsz != '/')
  58. continue;
  59. switch (lpsz[1])
  60. {
  61. // "/A" or "/a" allows the window to be parented to the IDE window
  62. // add GUIDGEN /A to your tools menu for easy access!
  63. case 'a':
  64. case 'A':
  65. pParentWnd = CWnd::GetForegroundWindow();
  66. break;
  67. }
  68. }
  69. CGuidGenDlg dlg(pParentWnd);
  70. m_pMainWnd = &dlg;
  71. int nResponse = dlg.DoModal();
  72. if (nResponse == IDOK)
  73. {
  74. // TODO: Place code here to handle when the dialog is
  75. //  dismissed with OK
  76. }
  77. else if (nResponse == IDCANCEL)
  78. {
  79. // TODO: Place code here to handle when the dialog is
  80. //  dismissed with Cancel
  81. }
  82. // Since the dialog has been closed, return FALSE so that we exit the
  83. //  application, rather than start the application's message pump.
  84. return FALSE;
  85. }
  86. int CGuidGenApp::ExitInstance()
  87. {
  88. ::CoUninitialize();
  89. return CWinApp::ExitInstance();
  90. }