我们继续延续DLL专题风格.先来写DLL吧.
首先,我们建立一个MFC DLL,选择MFC 规则的静态库.这里有一些选项.我们简单的说明以下.
Automation:自动化的支持 即支持 一个应用程序中使用另一个程序.
Windows Socket:是否支持Socket.可以增加网络功能.
好了,我开始使用MFC静态库吧.既然上MFC的嘛.我们就用一个对话框来测试在DLL里使用对话框资源.我们就增加一个对话框吧(CDllDialog),在对话框里面我们实现一个简单的剪贴板功能.
一个是将数据放到剪贴板上一个是取得剪贴板的数据:
void CDllDlg::OnBtnCopy()
{
// TODO: Add your control notification handler code here
UpdateData();
if( OpenClipboard( ) ) //打开剪贴板
{
CString strText = _T("");
HANDLE hGlobal = NULL;
char * pBuffer = NULL;
EmptyClipboard(); //清空剪贴板,获得剪贴板的拥有权
GetDlgItemText(IDC_EDIT_TEXT1,strText);
hGlobal = GlobalAlloc( GMEM_MOVEABLE, strText.GetLength() + 1 ); //分配堆内存
pBuffer = (char*)GlobalLock( hGlobal ); //锁定可移动内存句柄,得到内存地址
strcpy( pBuffer, strText ); //将数据放置到内存中
GlobalUnlock( hGlobal ); //解锁
SetCli