码迷,mamicode.com
首页 > 其他好文 > 详细

vc dll的生成和使用

时间:2014-06-23 06:33:37      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:class   blog   ext   com   get   使用   

这两天做了打印机的上位机驱动,要生成DLL,了解了这方面的东东,记录下简单。

因为要在wince平台上使用,接口不能用MFC类,所以费劲的转换成了非MFC,也就使用Non-MFC Dlls

 

DLL的生成:

*.h

#ifndef __PRINTERCONTROL_H__
#define __PRINTERCONTROL_H__

int __declspec(dllexport)PrintDC(void *p);

#endif

  因为要静态调用需要*.lib 所以还要生成.def文件,直接创建即可,编译OK

DLL的使用:

可以在头文件里面加入#pragma comment(lib,"PrinterControl.lib") 

也可以在配置属性里面设置的;

extern C,要使用,必须在生成DLL的源文件和头文件里添加,才能在使用的工程里使用

 

再顺便贴个 只根据HDC得到其里位图信息的源码,自己找了好长时间,无意中想到的笨方法:

	HBITMAP	hBmp;
	HBITMAP	hOld;
	BITMAP bm;
	hBmp = CreateCompatibleBitmap(hDC, 0, 0);
	hOld  = (HBITMAP)SelectObject(hDC, hBmp);
	SelectObject(hDC, hOld);
	::DeleteObject(hBmp);
	::GetObject(hOld, sizeof(bm), &bm);

之前自己使用的HDC是转CDC处理得到位图信息:

	CDC *pdc = CDC::FromHandle(*(HDC *)p);
	CBitmap  *pBitmap;

	CBitmap  *pBitmap;
	BITMAP bm;

	if((pBitmap = pdc->GetCurrentBitmap()) == NULL)
	{
		return 0;
	}
	pBitmap->GetBitmap(&bm);

  这痛苦的日子啊,VC三年前都放下了,是不想再拾起来了,痛苦的API

vc dll的生成和使用,布布扣,bubuko.com

vc dll的生成和使用

标签:class   blog   ext   com   get   使用   

原文地址:http://www.cnblogs.com/chagmf/p/3799610.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!