ImageProcess.cpp
上传用户:pass2008
上传日期:2021-07-05
资源大小:3299k
文件大小:2k
源码类别:

Internet/IE编程

开发平台:

Visual C++

  1. // ImageProcess.cpp : DLL 导出的实现。
  2. #include "stdafx.h"
  3. #include "resource.h"
  4. #include "ImageProcess.h"
  5. class CImageProcessModule : public CAtlDllModuleT< CImageProcessModule >
  6. {
  7. public :
  8. DECLARE_LIBID(LIBID_ImageProcessLib)
  9. DECLARE_REGISTRY_APPID_RESOURCEID(IDR_IMAGEPROCESS, "{34889EB9-E5BC-4F51-ADAD-4ED8D09EEA77}")
  10. };
  11. CImageProcessModule _AtlModule;
  12. class CImageProcessApp : public CWinApp
  13. {
  14. public:
  15. // 重写
  16.     virtual BOOL InitInstance();
  17.     virtual int ExitInstance();
  18.     DECLARE_MESSAGE_MAP()
  19. };
  20. BEGIN_MESSAGE_MAP(CImageProcessApp, CWinApp)
  21. END_MESSAGE_MAP()
  22. CImageProcessApp theApp;
  23. BOOL CImageProcessApp::InitInstance()
  24. {
  25.     return CWinApp::InitInstance();
  26. }
  27. int CImageProcessApp::ExitInstance()
  28. {
  29.     return CWinApp::ExitInstance();
  30. }
  31. // 用于确定 DLL 是否可由 OLE 卸载
  32. STDAPI DllCanUnloadNow(void)
  33. {
  34.     AFX_MANAGE_STATE(AfxGetStaticModuleState());
  35.     return (AfxDllCanUnloadNow()==S_OK && _AtlModule.GetLockCount()==0) ? S_OK : S_FALSE;
  36. }
  37. // 返回一个类工厂以创建所请求类型的对象
  38. STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
  39. {
  40.     return _AtlModule.DllGetClassObject(rclsid, riid, ppv);
  41. }
  42. // DllRegisterServer - 将项添加到系统注册表
  43. STDAPI DllRegisterServer(void)
  44. {
  45.     // 注册对象、类型库和类型库中的所有接口
  46.     HRESULT hr = _AtlModule.DllRegisterServer();
  47. return hr;
  48. }
  49. // DllUnregisterServer - 将项从系统注册表中移除
  50. STDAPI DllUnregisterServer(void)
  51. {
  52. HRESULT hr = _AtlModule.DllUnregisterServer();
  53. return hr;
  54. }