Delphi 向usb条形码扫描仪发送信号

Delphi 向usb条形码扫描仪发送信号,delphi,barcode-scanner,Delphi,Barcode Scanner,抱歉,如果这是某种形式的转发,但我不能写评论或发送私人消息,所以。。。 (原件:) 我有符号LS4278扫描仪,现在有一段时间我不能让它们发出嘟嘟声 我的“最佳”尝试(我尝试发送ASCII贝尔字符): 它说访问被拒绝,因为我认为内核在非共享模式下使用扫描器。如果我使用“MAXIMUM_ALLOWED”而不是“GENERIC_WRITE或GENERIC_READ”,那么它不会出现异常,但仍然什么也不做。 另外,摩托罗拉的123SCAN^2不想更新扫描仪固件(“所选扫描仪没有可用的有效插件”),即使

抱歉,如果这是某种形式的转发,但我不能写评论或发送私人消息,所以。。。 (原件:)

我有符号LS4278扫描仪,现在有一段时间我不能让它们发出嘟嘟声

我的“最佳”尝试(我尝试发送ASCII贝尔字符):

它说访问被拒绝,因为我认为内核在非共享模式下使用扫描器。如果我使用“MAXIMUM_ALLOWED”而不是“GENERIC_WRITE或GENERIC_READ”,那么它不会出现异常,但仍然什么也不做。 另外,摩托罗拉的123SCAN^2不想更新扫描仪固件(“所选扫描仪没有可用的有效插件”),即使是他们的示例软件也无法发出蜂鸣音,尽管它说command send success(命令发送成功)。 我想RS232是这里的关键词,但我找不到创建这种连接的解决方案,而USB HID(键盘模式)可能仍然存在。
这一点我一无所知。

你的“deviceName”是什么?“它说访问被拒绝”-具体在哪里????建议:使用SysInternals Process Monitor在Windows API级别检查并记录文件i/o,查看参数和错误的具体内容
我猜RS232是这里的关键词
-有很多库,但它们不会使您免于阅读有关串行(COMx)的文档端口及其设置及其设置的含义。例如,很少有库:JediVCL库有USB HID组件,但我从未尝试过它是否正常工作1。deviceName='\\?\HID#VID#U 05E0&PID#U 1200#8&eda0e97&0&0000{884b96c3-56ef-11d1-bc8c-00a0c91405dd}2。在CreateFile之后,如果我把这一行放在那里,如果h=INVALID\u HANDLE\u VALUE,那么RaiseLastOSError;-->EOSError:“系统错误。代码:5.访问被拒绝”行来自SysInternals进程监视器:“CreateFileMapping | C:\Windows\SysWOW64\xmllite.dll |文件仅锁定读卡器| SyncType:SyncTypeCreateSection,PageProtection:”3。我会检查这些东西的,谢谢
//h:THandle;
h:=CreateFile(PChar(deviceName), GENERIC_WRITE or GENERIC_READ,
    FILE_SHARE_WRITE or FILE_SHARE_READ,
    nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
MyPort:=THandleStream.Create(h);
FBufferOut[0]:=0; FBufferOut[1]:=7; //array[0..1] of byte
MyPort.Write(FBufferOut,2);