我正在尝试使用 Zebra 扫描仪型号:DS3608 拍照并将其保存到我的电脑中。 我不想为此使用 Scanner 123,而只是我的程序。
我正在尝试为此使用图像事件: 图片事件 当成像扫描仪以图像模式捕获图像时触发。要接收 ImageEvents,应用程序需要使用 SUBSCRIBE_IMAGE 事件类型执行 REGISTER_FOR_EVENTS 方法。
这是我的测试代码。文本框 1 有效,似乎我可以拍照,但我的程序从未进入 ImageEvent(至少看起来是这样,文本框 2 保持不变。)
using CoreScanner;
namespace WinFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// Declare CoreScannerClass
static CCoreScanner cCoreScannerClass;
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = "Button clicked";
//Instantiate CoreScanner Class
cCoreScannerClass = new CCoreScanner();
//Call Open API
short[] scannerTypes = new short[1]; // Scanner Types you are interested in
scannerTypes[0] = 1; // 1 for all scanner types
short numberOfScannerTypes = 1; // Size of the scannerTypes array
int status; // Extended API return code
cCoreScannerClass.Open(0, scannerTypes, numberOfScannerTypes, out status);
int imageMode = 3000;
int registerEvents = 1001;
string outXML; // Output
string inXML = "<inArgs>" +
"<scannerID>1</scannerID>" +
"</inArgs>";
string inXML2 = "<inArgs>" +
"<cmdArgs>" +
"<arg-int>1<arg-int>" +
"<arg-int>2<arg-int>" +
"</cmdArgs>" +
"</inArgs>";
cCoreScannerClass.ExecCommand(imageMode, ref inXML, out outXML, out status);
cCoreScannerClass.ExecCommand(registerEvents, ref inXML2, out outXML, out status);
}
void OnImageEvent(short eventType, int size, short imageFormat, ref object sfimageData, ref string pScannerData)
{
textBox2.Text = "Image Event";
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
}
}```