搜索
bottom↓
回复: 30

[共享]串口模拟键盘com2key.rar

[复制链接]

出0入0汤圆

发表于 2006-10-5 08:49:42 | 显示全部楼层 |阅读模式
com2key.rar



    最近在开发超市收银软件,但是手中没有条码枪,在网上找到这几个东东,用本站的学习板,做了个简单的串口发送程序,模拟条码枪发送数据,效果还不错!不敢独享,奉献给大家。

    这几个程序的作用是把串口的输入模拟成键盘输入,也就是说只要打开文本输入框(写字板,记事本,WORD,甚至EXCEL)就可以记录串口数据了!

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2006-10-5 09:18:18 | 显示全部楼层
谢谢!

下载研究研究.

出0入0汤圆

发表于 2006-10-5 10:33:27 | 显示全部楼层
支持,不错。

有没有串口输出仿真键盘的程序或资料?

出0入0汤圆

发表于 2006-10-5 19:57:25 | 显示全部楼层
谢谢!

出0入0汤圆

 楼主| 发表于 2006-10-6 08:43:41 | 显示全部楼层
回【2楼】 avrDIY :





   

    在Windows大行其道的今天,windows界面程序受到广大用户的欢迎。对这些程序的操作不外乎两种,键盘输入控制和鼠标输入控制。有时,对于繁杂的,或重复性的操作,我们能否通过编制程序来代替手工输入,而用程序来模拟键盘及鼠标的输入呢?答案是肯定的。这主要是通过两个API函数来实现的。   

  下面以Delphi为例来介绍一下如何实现这两个功能。模拟键盘我们用Keybd_event这个api函数,模拟鼠标按键用mouse_event函数。大家不用担心,在delphi里调用api函数是很方便的事。   

  先介绍一下Keybd_event函数。Keybd_event能触发一个按键事件,也就是说回产生一个WM_KEYDOWN或WM_KEYUP消息。当然也可以用产生这两个消息来模拟按键,但是没有直接用这个函数方便。Keybd_event共有四个参数,第一个为按键的虚拟键值,如回车键为vk_return, tab键为vk_tab。第二个参数为扫描码,一般不用设置,用0代替就行。第三个参数为选项标志,如果为keydown则置0即可,如果为keyup则设成“KEYEVENTF_KEYUP”,第四个参数一般也是置0即可。用如下代码即可实现模拟按下i键,其中的$49表示i键的虚拟键值:



keybd_event($49,0,0,0);

keybd_event($49,0,KEYEVENTF_KEYUP,0); ...   



  mouse_event最好配合setcursorpos(x,y)函数一起使用,与Keybd_event类似,mouse_event有五个参数,第一个为选项标志,为MOUSEEVENTF_LEFTDOWN时表示左键按下,为MOUSEEVENTF_LEFTUP表示左键松开,向系统发送相应消息。第二三个参数分别表示x,y相对位置,一般可设为0,0,第四五个参数并不重要,一般也可设为0,0。若要得到Keybd_event和mouse_event函数的更详细的用法,可以查阅msdn或delphi帮助。下面是关于mouse_event的示例代码:

 



setcursorpos(20,132);

mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);

mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);

mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);

mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); ...





   上面的代码表示鼠标的双击,若要表示单击,用两个mouse_event即可(一次放下,一次松开)。  

   注意,不管是模拟键盘还是鼠标事件,都要注意还原,即按完键要松开,一个keydown对应一个keyup;鼠标单击 完也要松开, 不然可能影响程序的功能。  

 

   好了,希望本文能让你对模拟键盘和鼠标按键有个初步的了解,如果想更深入的了解其中的奥妙,可以查阅详实的msdn在线帮助,并多多动手实践。



常量名称    十六位值    十位值    鼠标或按钮的值



VK_LBUTTON    1    1    鼠标左键钮

VK_RBUTTON    2    2    鼠标右键钮

VK_CANCEL    3    3    Control-break执行

VK_MBUTTON    4    4    鼠标中键钮

   05-07    05-07    未定义

VK_BACK    8    8    Backspace键

VK_TAB    9    9    Tab键

   0A-0B    10-11    未定义

VK_CLEAR    0C    12    Clear键

VK_RETURN    0D    13    Enter键

   0E-0F    14-15    未定义

VK_SHIFT    10    16    Shift键

VK_CONTROL    11    17    Ctrl键

VK_MENU    12    18    Alt键

VK_PAUSE    13    19    Pause键

VK_CAPITAL    14    20    Caps Lock键

   15-19    21-25    保留给Kanji系统使用

   1A    26    未定义

VK_ESCAPE    1B    27    Esc键

   1C-1F    28-31    保留给Kanji系统使用

VK_SPACE    20    32    SpaceBar键

VK_PRIOR    21    33    Page Up键

VK_NEXT    22    34    Page Down键

VK_END    23    35    End键

VK_HOME    24    36    Home键

VK_LEFT    25    37    Left Arrow键

VK_UP    26    38    Up Arrow键

VK_RIGHT    27    39    Right Arrow键

VK_DOWN    28    40    Down Arrow键

VK_SELECT    29    41    Select键

   2A    42    OEM自订使用

VK_EXECUTE    2B    43    Execute键

VK_SNAPSHOT  2C    44    Print Screen键

VK_INSERT    2D    45    Ins键

VK_DELETE    2E    46    Del键

VK_HELP    2F    47    Help键

VK_0    30    48    0键

VK_1    31    49    1键

VK_2    32    50    2键

VK_3    33    51    3键

VK_4    34    52    4键

VK_5    35    53    5键

VK_6    36    54    6键

VK_7    37    55    7键

VK_8    38    56    8键

VK_9    39    57    9键

   3A-40    58-64    未定义

VK_A    41    65    A键

VK_B    42    66    B键

VK_C    43    67    C键

VK_D    44    68    D键

VK_E    45    69    E键

VK_F    46    70    F键

VK_G    47    71    G键

VK_H    48    72    H键

VK_I    49    73    I键

VK_J    4A    74    J键

VK_K    4B    75    K键

VK_L    4C    76    L键

VK_M    4D    77    M键

VK_N    4E    78    N键

VK_O    4F    79    O键

VK_P    50    80    P键

VK_Q    51    81    Q键

VK_R    52    82    R键

VK_S    53    83    S键

VK_T    54    84    T键

VK_U    55    85    U键

VK_V    56    86    V键

VK_W    57    87    W键

VK_X    58    88    X键

VK_Y    59    89    Y键

VK_Z    5A    90    Z键

   5B-5F    91-95    未定义

VK_NUMPAD0    60    96    数字键0键

VK_NUMPAD1    61    97    数字键1键

VK_NUMPAD2    62    98    数字键2键

VK_NUMPAD3    63    99    数字键3键

VK_NUMPAD4    64    100    数字键4键

VK_NUMPAD5    65    101    数字键5键

VK_NUMPAD6    66    102    数字键6键

VK_NUMPAD7    67    103    数字键7键

VK_NUMPAD8    68    104    数字键8键

VK_NUMPAD9    69    105    数字键9键

VK_MULTIPLY  6A    106    *键

VK_ADD    6B    107    +键

VK_SEPARATOR  6C    108    Separator键

VK_SUBTRACT  6D    109    -键

VK_DECIMAL    6E    110    .键

VK_DIVIDE    6F    111    /键

VK_F1    70    112    F1键

VK_F2    71    113    F2键

VK_F3    72    114    F3键

VK_F4    73    115    F4键

VK_F5    74    116    F5键

VK_F6    75    117    F6键

VK_F7    76    118    F7键

VK_F8    77    119    F8键

VK_F9    78    120    F9键

VK_F10    79    121    F10键

VK_F11    7A    122    F11键

VK_F12    7B    123    F12键

VK_F13    7C    124    F13键

VK_F14    7D    125    F14键

VK_F15    7E    126    F15键

VK_F16    7F    127    F16键

VK_F17    80    128    F17键

VK_F18    81    129    F18键

VK_F19    82    130    F19键

VK_F20    83    131    F20键

VK_F21    84    132    F21键

VK_F22    85    133    F22键

VK_F23    86    134    F23键

VK_F24    87    135    F24键

   88-8F    136-143    未指定

VK_NUMLOCK    90    144    Num Lock键

VK_SCROLL    91    145    Scroll Lock键

   92-B9    146-185    未指定

   BA-C0    186-192    OEM自订

   C1-DA    193-218    未指定

   DB-E4    219-228    OEM自订

   E5    229    未指定

   E6    230    OEM自订

   E7-E8    231-232    未指定

   E9-F5    233-245    OEM自订

   F6-FE    246-254    未指定






-----此内容被chen于2006-10-06,08:46:20编辑过

出0入0汤圆

发表于 2006-10-7 20:09:35 | 显示全部楼层
非常不错哦!

出0入0汤圆

发表于 2008-1-11 09:09:03 | 显示全部楼层
首先感谢站长无私奉献!

出0入0汤圆

发表于 2008-1-11 09:12:15 | 显示全部楼层
站长高风亮节!成为小辈学习的楷模!
头像被屏蔽

出0入0汤圆

发表于 2008-1-11 09:19:38 | 显示全部楼层
晕,我才是站长啊 

出0入0汤圆

发表于 2008-1-11 10:30:45 | 显示全部楼层
呵呵,是有点晕啊,站长!

出0入0汤圆

发表于 2008-1-11 10:46:31 | 显示全部楼层
【9楼】 armok 阿莫.

积分:25665
派别:
等级:------
来自:OurAVR.com 站长

晕,我才是站长啊



偶是该笑呢还是该哭呢。。。偶哭笑不得。。。。

出0入0汤圆

发表于 2008-1-11 10:52:46 | 显示全部楼层
真不错.

出0入0汤圆

发表于 2008-1-12 01:08:54 | 显示全部楼层
大笑
chen和armok有点像

出0入0汤圆

发表于 2008-1-13 10:27:30 | 显示全部楼层
很不错,收藏先,
感谢共享!

出0入0汤圆

发表于 2008-1-13 13:32:19 | 显示全部楼层
【13楼】 xiaoxu191
积分:55
派别:
等级:------
来自:
大笑
chen和armok有点像  
===========
呵呵,是啊,看来没认错人

出0入0汤圆

发表于 2010-3-13 11:13:20 | 显示全部楼层
看看

出0入0汤圆

发表于 2010-4-30 21:55:25 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-30 22:06:55 | 显示全部楼层
jh

出0入0汤圆

发表于 2010-5-25 11:34:11 | 显示全部楼层
mark

出0入25汤圆

发表于 2010-5-25 12:49:15 | 显示全部楼层
mark!

出0入0汤圆

发表于 2010-5-25 13:40:20 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-25 15:48:48 | 显示全部楼层
晕,我笑而不止.....

出0入0汤圆

发表于 2013-3-8 18:13:22 | 显示全部楼层
你好,请教你个问题
[共享]串口模拟键盘com2key.rar  是不是只支持那个扫描仪设备?还是所有的串口都支持?

出0入0汤圆

发表于 2013-3-8 20:28:56 | 显示全部楼层
谢谢共享~~~~~~~~~~~~~~~~~~~~~

出0入0汤圆

发表于 2013-3-9 08:19:56 | 显示全部楼层
看看怎么样

出0入0汤圆

发表于 2013-3-9 08:34:59 | 显示全部楼层
不支持64位的系统啊

出0入0汤圆

发表于 2013-3-24 12:45:13 | 显示全部楼层
楼主上传这软件是不是,直接从串口助手中发数据,用word,txt中会显示相应的数据,对吗?我研究了下这软件。没研究懂呢,串口助手一直显示串口未发现。

出0入4汤圆

发表于 2019-12-25 20:12:58 | 显示全部楼层
这个正要用上。

出0入0汤圆

发表于 2020-2-5 14:55:41 | 显示全部楼层
这个很实用。早发现就好了

出0入0汤圆

发表于 2020-2-5 15:10:47 | 显示全部楼层
谢谢,研究一下
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 10:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表