下载: CTwainHelper (包含示例代码 35K)
使用方法如下:
- 调用 CTwainHelper::Initialize() 确定是否有可用的设备。
- 在窗口消息循环中,调用 CTwainHelper::ProcessMessage() 处理 TWAIN 消息。
- 要获取图像时,调用 CTwainHelper::GetImage()。
- 如果图像已准备好 (如用户确定扫描图像),窗口会收到 WM_COMMAND 消息,wParam 为 IDC_TwainHelper。此时应用程序可以调用 CTwainHelper::TransferImage() 获取图像到文件中。
// 消息: 如果图像已准备好,父窗口将收到 WM_COMMAND 消息
// 参数: LOWORD(wParam) 为 IDC_TwainHelper,HIWORD(wParam) 第一次收到此消息时为 0,以后为总的图像个数
// 返回: 如果返回 S_FALSE,将不再传送后继的图像
// 备注: 收到此消息后,可以调用 TransferImage() 获取图像到文件中
#define IDC_TwainHelper 51234
// CTwainHelper 类
class CTwainHelper
{
public:
// 初始化 TWAIN 库
static BOOL Initialize(HWND hParent);
// 功能: 处理 TWAIN 消息
// 返回: 返回 TRUE 表示是 TWAIN 消息,此时父窗口不应该处理这个消息
// 备注: 在父窗口消息循环中应该调用此函数
static BOOL ProcessMessage(const PMSG pmsgMsg);
// 返回: 返回 TRUE 表示是 TWAIN 消息,此时父窗口不应该处理这个消息
// 备注: 在父窗口消息循环中应该调用此函数
static BOOL ProcessMessage(const PMSG pmsgMsg);
// 功能: 从 TWAIN 设备中获取图像,并以消息回调的形式通知父窗口
// 参数: uCount 指定要获取的图像的个数,0 表示不指定个数。此参数需要设备支持
// 返回: 返回 TRUE 表示成功或者用户取消,其它表示失败
// 备注: 如果调用成功,当图像准备好时,父窗口将到 WM_COMMAND 消息,请参看 IDC_TwainHelper 的说明
static BOOL GetImage(UINT uCount = 0);
// 参数: uCount 指定要获取的图像的个数,0 表示不指定个数。此参数需要设备支持
// 返回: 返回 TRUE 表示成功或者用户取消,其它表示失败
// 备注: 如果调用成功,当图像准备好时,父窗口将到 WM_COMMAND 消息,请参看 IDC_TwainHelper 的说明
static BOOL GetImage(UINT uCount = 0);
// 传送图像到文件中
static BOOL TransferImage(PCTSTR ptzFileName);
static BOOL TransferImage(PCTSTR ptzFileName);
// 关闭 TWAIN 对话框
static VOID Close();
}
static VOID Close();
}