edit如何样判断扫描枪扫描还是键盘输入。(100分相送)

edit怎么样判断扫描枪扫描还是键盘输入。(100分相送)
昨天发了帖子问题还没解决 

目的就是让用户不能手动输入,只能用扫描枪扫描。如有类似代码请贴下。

谢谢各位

------解决方案--------------------
单纯的 键盘接口的 扫码器 区分不了吧。
------解决方案--------------------
正常的确无法判(如果扫码是键盘接口的话),如果按速度的话,至少要二个以上的键入,给你个思路吧
odt:integer;
keys:integer;
...
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inc(keys);
if keys=2 then
begin
keys:=0;
if gettickcount-odt>100 then //0.1秒以上为键盘,自己改一下
ShowMessage('键盘输入')
else
ShowMessage('其它输入')
end else
odt:=gettickcount;
end;
------解决方案--------------------
有个思路不知道行不行:扫描枪输入的特性是相当于自动输入条码后再按一次回车键,而手工输入是一个一个数字输入再按回车的。可以模拟键盘“退格键”,每0.2秒自动删除输入的数字。而扫描枪可以在0.1秒就完成输入跳到下一步了。
------解决方案--------------------
如果又有草苗抢又有键盘可以判断串口或是并口,如果没有键盘那还不简单
------解决方案--------------------
不好判断