twain_hidedlg/hidedlg.cpp

119 lines
3.4 KiB
C++
Raw Normal View History

2020-07-03 10:12:49 +00:00
// messageboxtest.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include <Windows.h>
#include <map>
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )// 设置入口地址
using namespace std;
//u32_Data
enum class EventID : int {
//停止扫描
SCAN_STOP = -2,
//异常
HAVE_ERROR = -1,
//正常状态
NORMAL = 0,
//开盖
OPEN_COVER = 1,
// 无纸
NO_FEED = 2,
// 搓纸失败
FEED_IN_ERROR = 4,
// 卡纸
PAPER_JAM = 8,
// 检测到双张
DETECT_DOUBLE_FEED = 16,
// 检测到订书钉
DETECT_STAPLE = 32,
// 纸张倾斜
PAPER_SKEW = 64,
// 自动模式
AUTO_SCAN_MODE = 65,
// 手动模式
MANAUL_SCAN_MODE = 66,
// 计数模式
COUNT_MODE = 67,
// 硬件错误
HARDWARE_ERROR = 68,
// FPGA崩溃
FPGA_ERROR = 68,
// 开始
START_SCAN = 69,
//停止
STOP_SCAN = 70,
//有图
HAVE_IMAGE = 71,
// 更新扫描参数
UPDATE_SCAN_PARAMETER = 72,
// PC繁忙或出错
PC_SCAN_BUSY_or_ERROR = 73,
2020-11-16 09:43:30 +00:00
//折角
DOGEAR = 74,
2020-12-10 01:47:02 +00:00
//幅面检测异常
SIZE_ERROR,
2020-07-03 10:12:49 +00:00
//USB 未连接
USB_DISCONNECTED = 200,
//未找到扫描仪
SCANNER_NOT_FOUND = 201,
//扫描仪被占用
SCANNER_IS_IN_USING = 202
};
static map<EventID, string> msgs = {
{EventID::OPEN_COVER,"扫描仪开盖!请关闭扫描仪上盖!"},
{EventID::NO_FEED,"无纸!请放置纸张!"},
{EventID::FEED_IN_ERROR,"搓纸失败!请整理纸张!"},
{EventID::PAPER_JAM,"卡纸!"},
{EventID::DETECT_DOUBLE_FEED,"双张"},
{EventID::DETECT_STAPLE,"检测到订书针!"},
{EventID::PAPER_SKEW,"纸张歪斜!请整理纸张!"},
{EventID::COUNT_MODE,"计数模式,请退出计数模式!"},
{EventID::HARDWARE_ERROR,"硬件异常!请重启扫描仪!"},
{EventID::USB_DISCONNECTED,"USB连接异常!"},
{EventID::SCANNER_NOT_FOUND,"未找到扫描仪!请检查电源或者USB连接线是否接通!"},
2020-11-16 09:43:30 +00:00
{EventID::SCANNER_IS_IN_USING,"设备已被其他程序占用,请关闭占用程序之后再重试!"},
2020-12-10 01:47:02 +00:00
{EventID::DOGEAR,"检测到折角!"},
{EventID::SIZE_ERROR,"检测到扫描幅面与设置幅面不匹配!请检查!"}
2020-07-03 10:12:49 +00:00
};
int main(int argc, char** argv)
{
if (argc >= 2)
{
int key = atoi(argv[1]);
if (msgs.count((EventID)key))
{
string msg = msgs[(EventID)key];
2020-11-16 09:43:30 +00:00
if (key == 74)
{
char text[30] = "检测到折角!,页码为:";
strcat_s(text, argv[2]);
MessageBox(NULL, text, TEXT("提示"), MB_OK | MB_ICONINFORMATION | MB_SYSTEMMODAL);
}
else
{
MessageBox(NULL, msg.c_str(), TEXT("提示"), MB_OK | MB_ICONINFORMATION | MB_SYSTEMMODAL);
}
2020-07-03 10:12:49 +00:00
}
else
{
MessageBox(NULL, TEXT("未知异常"), TEXT("提示"), MB_OK| MB_ICONINFORMATION| MB_SYSTEMMODAL);
}
}
return 0;
//std::cout << "Hello World!\n";
}
// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
// 调试程序: F5 或调试 >“开始调试”菜单
// 入门使用技巧:
// 1. 使用解决方案资源管理器窗口添加/管理文件
// 2. 使用团队资源管理器窗口连接到源代码管理
// 3. 使用输出窗口查看生成输出和其他消息
// 4. 使用错误列表窗口查看错误
// 5. 转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目
// 6. 将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择 .sln 文件