⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 imagemagickobject.cpp

📁 下载来的一个看图软件的源代码
💻 CPP
字号:
// ImageMagickObject.cpp : Implementation of DLL Exports.// Note: Proxy/Stub Information//      To build a separate proxy/stub DLL, //      run nmake -f ImageMagickObjectps.mk in the project directory.#include "stdafx.h"#include "resource.h"#include <initguid.h>#include "ImageMagickObject.h"#include "ImageMagickObject_i.c"#include "MagickImage.h"CMagickComModule::CMagickComModule() : m_hInstance(NULL){  m_szAppPath[0]='\0';}CMagickComModule::~CMagickComModule(){}CMagickComModule _Module;//CComModule _Module;BEGIN_OBJECT_MAP(ObjectMap)OBJECT_ENTRY(CLSID_MagickImage, CMagickImage)END_OBJECT_MAP()/////////////////////////////////////////////////////////////////////////////// DLL Entry Point#include <direct.h>extern "C"BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/){  //_DbgBreak();  if (dwReason == DLL_PROCESS_ATTACH)  {#ifdef _DEBUG    int tmpDbgFlag;#endif    _Module.m_hInstance = hInstance;    if (!GetModuleFileName (hInstance, _Module.m_szAppPath, MAX_PATH))      return FALSE;    _Module.Init(ObjectMap, hInstance, &LIBID_IMAGEMAGICKOBJECTLib);    DisableThreadLibraryCalls(hInstance);#ifdef _DEBUG    tmpDbgFlag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);    tmpDbgFlag |= _CRTDBG_CHECK_ALWAYS_DF;    //tmpDbgFlag |= _CRTDBG_DELAY_FREE_MEM_DF;    tmpDbgFlag |= _CRTDBG_LEAK_CHECK_DF;    _CrtSetDbgFlag(tmpDbgFlag);#endif    ::InitializeMagick(_Module.m_szAppPath);  }  else if (dwReason == DLL_PROCESS_DETACH)  {    _Module.Term();    ::DestroyMagick();  }  return TRUE;    // ok}/////////////////////////////////////////////////////////////////////////////// Used to determine whether the DLL can be unloaded by OLESTDAPI DllCanUnloadNow(void){  return (_Module.GetLockCount()==0) ? S_OK : S_FALSE;}/////////////////////////////////////////////////////////////////////////////// Returns a class factory to create an object of the requested typeSTDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv){  return _Module.GetClassObject(rclsid, riid, ppv);}/////////////////////////////////////////////////////////////////////////////// DllRegisterServer - Adds entries to the system registrySTDAPI DllRegisterServer(void){  // registers object, typelib and all interfaces in typelib  return _Module.RegisterServer(TRUE);}/////////////////////////////////////////////////////////////////////////////// DllUnregisterServer - Removes entries from the system registrySTDAPI DllUnregisterServer(void){  return _Module.UnregisterServer(TRUE);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -