|
有一将bmp转为jpg的dll,无.h,无.lib,居然被我调用成功了,代码附在后面。
这个在普通程序中调用没有问题,可是我是在ActiveX中调用,这就碰上了路径问题。我的ActiveX最后要和这个dll打包成cab,数字签名后发布。
我测试发现(不是用cab,而是两个分开的),在Web上使用时ActiveX找dll居然到桌面上找,我猜可能是IE快捷方式的路径。这样打包后找dll肯定找不到,因为ActiveX和dll都会被下载C:\WINDOWS\Downloaded Program Files路径下。
我想用静态链接应该不会出现路径的问题,但没有.h,连.lib都没有,能实现静态链接吗?
当然,有其它dll或能提供bmp到jpg的类源码也可以,要VC++6的,不要c的和VC++.net的。
附:动态链接代码
typedef bool(__stdcall CHANGE)(char *,char *);
void CJpeg::BmpToJpeg(CString Bmp, CString Jpeg)
{
HINSTANCE hInst;
CHANGE *pFunc;
hInst = ::LoadLibrary("jpgdll.dll");
pFunc = (CHANGE*)::GetProcAddress(hInst, "BmpToJpg");
pFunc(Bmp.GetBuffer(Bmp.GetLength()), Jpeg.GetBuffer(Jpeg.GetLength()));
Bmp.ReleaseBuffer();
Jpeg.ReleaseBuffer();
::FreeLibrary(hInst);
} |
|