vc6.0調(diào)用dll免費(fèi)下載 最新軟件|熱門(mén)排行|軟件分類(lèi)|軟件專(zhuān)題|廠(chǎng)商大全

您的位置: 首頁(yè)文件下載DLL文件 → VC6 CImage加載DLL

VC6 CImage加載DLL

VC6 CImage加載DLL 網(wǎng)友評(píng)分:8

同類(lèi)相關(guān)軟件

軟件介紹

軟件標(biāo)簽: vc6.0 dll

VC6 CImage加載DLL是在電腦中比較常用的一個(gè)文件,而對(duì)于很多不熟悉電腦的朋友來(lái)說(shuō),這款文件不能調(diào)用時(shí)就能麻煩,現(xiàn)在綠色資源網(wǎng)就為大家提供免費(fèi)的問(wèn)價(jià)即使用方法,有需要或者不懂的朋友可以來(lái)本站下載哦。

文件介紹

由于VC6啟動(dòng)速度快,產(chǎn)生的執(zhí)行代碼小,還有可愛(ài)的類(lèi)向?qū)В栽S多C++程序員還工作在VC6環(huán)境中。

但是我們想在VC6中用VS2005中的新功能怎么辦呢?例如CImage類(lèi)(有很強(qiáng)的圖像處理功能).當(dāng)然我們無(wú)法直接使用CImage了,經(jīng)過(guò)我的思考和實(shí)踐,以下方法是可行的:

用VS2005生成一個(gè)CImage2005動(dòng)態(tài)庫(kù),然后用VC6調(diào)用就可以了。

vc6.0調(diào)用dll免費(fèi)下載

文件使用方法

今天改一個(gè)VC6的程序,因?yàn)樾枰虞dpng和jpg圖像,于是想到了CImage,但是VC6又不支持CImage類(lèi),郁悶了,網(wǎng)上看了一下,都是改這改那,改得頭大。后來(lái)看到有一個(gè)人提出一個(gè)建議,用VS2008寫(xiě)一個(gè)DLL讓VC6去動(dòng)態(tài)加載不就OK了。恩,這個(gè)注意不錯(cuò),于是乎就這么做了吧

先建立一個(gè)工程,叫AtlImage吧,在A(yíng)tlImage頭文件中聲明[自動(dòng)向?qū)鋵?shí)幫我生成了]:

#ifdef ATLIMAGE_EXPORTS

#define ATLIMAGE_API __declspec(dllexport)

#else

#define ATLIMAGE_API __declspec(dllimport)

#endif

//需要添加一個(gè)extern C,否則導(dǎo)出函數(shù)名···額郁悶死你

extern "C" ATLIMAGE_API HBITMAP LoadAtlImage(const char * pFileName);

然后在A(yíng)tlImage.cpp中實(shí)現(xiàn):

// AtlImage.cpp : Defines the exported functions for the DLL application.

//

#include "stdafx.h"

#include "AtlImage.h"

#include 

// This is an example of an exported function.哇靠,下面夠簡(jiǎn)單吧

ATLIMAGE_API HBITMAP LoadAtlImage(const char * pFileName)

{

CImage image;

HRESULT hr=image.Load(pFileName);

if (SUCCEEDED(hr))

{

   return image.Detach();

}

else

{

   return NULL;

}

}

oK,編譯成一個(gè)release版的DLL即可成功加載,在需要使用的地方如下聲明:

typedef HBITMAP (*LoadImageFunc)(const char *pStrFileName);

m_funLoadAtlImage=NULL;

m_hModule=::LoadLibrary("AtlImage.dll");

if(!m_hModule)

{

   AfxMessageBox("缺少動(dòng)態(tài)鏈接庫(kù):AtlImage.dll");

   m_hModule=NULL;

}

m_funLoadAtlImage=(LoadImageFunc)::GetProcAddress(m_hModule,"LoadAtlImage");

if (!m_funLoadAtlImage)

{

   AfxMessageBox("Function Miss : LoadAtlImage");

   m_funLoadAtlImage=NULL;

}

HBITMAP hBitmap=m_funLoadAtlImage(“test.png”);

FreeLibrary(m_hModule); //最后還是釋放一下資源

軟件截圖

下載地址 電腦版

用戶(hù)評(píng)論

熱門(mén)評(píng)論

最新評(píng)論

發(fā)表評(píng)論 查看所有評(píng)論(0)

昵稱(chēng):
請(qǐng)不要評(píng)論無(wú)意義或臟話(huà),我們所有評(píng)論會(huì)有人工審核.
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)