扫描枪的原理怎么写

时间:2022-08-19 17:24:30
我现在想做一个接收天平数据的连接,当天平有一个重量值发送到电脑时,
不管现在打开的是TXT或EXCEL文件,都能像扫描枪的原理一下,就把这个值写进去

这个要怎么写出来,不知道我说明白没有

9 个解决方案

#1


读串口数据,一般电子秤都有串口参数,不断读发过来的串口数据,将数据结果分析出来并输出到当前光标所在的位置

#2


并输出到当前光标所在的位置

如何做这个部分?
先谢谢了

#3


最简单是模拟粘贴 扫描枪的原理怎么写
Clipboard.SetText("处理后的串口数据"); //把要插入的文本放到剪切板
SendKeys.Send("^v"); // 模拟ctrl+v

也可以用api查找当前光标位置,再插入字符,你可以百度一下

#4


嗯,谢谢了
思路有了就比较好办了

#5


引用 3 楼 gxingmin 的回复:
最简单是模拟粘贴
Clipboard.SetText("处理后的串口数据"); //把要插入的文本放到剪切板
SendKeys.Send("^v"); // 模拟ctrl+v

也可以用api查找当前光标位置,再插入字符,你可以百度一下


很多资料都是在程序内的位置

我理想的做法是,我的程序是在后台运行
比如当前打开的是EXCEL,然后鼠标在某个单元格上,
这时我让串口传来数据,我就把这个数据自动写到这个单元格里了

请仁兄帮我一下


#6


模拟成键盘输入的。你只要在文本框有焦点,就会模拟键盘键码发给你系统。

#7


引用 3 楼 gxingmin 的回复:
最简单是模拟粘贴
Clipboard.SetText("处理后的串口数据"); //把要插入的文本放到剪切板
SendKeys.Send("^v"); // 模拟ctrl+v

也可以用api查找当前光标位置,再插入字符,你可以百度一下


引用 6 楼 wuyazhe 的回复:
模拟成键盘输入的。你只要在文本框有焦点,就会模拟键盘键码发给你系统。


我的做法是:比如说我现在打开了EXCEL光标放在某一单元格里,这个时候我控制
天平向串口发送一个重量值过来,这个值要录入在EXCEL的这个单元格里
所以,这个程序要在后台一直运行,当有接收到串口的数据时才运行SendKeys.Send("^v"); 

现在又有新的问题,如果让我的程序不占用太多资料,我开了一个线程后运行
提示:
在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。
我要怎么办呢

#8


在Main上加上这个标志啊
[STAThread]
static void Main(...)

#9


谢谢大家的帮忙.
我到最后的解决方法是:
就是用了最简单是模拟粘贴
没用多线程的

#1


读串口数据,一般电子秤都有串口参数,不断读发过来的串口数据,将数据结果分析出来并输出到当前光标所在的位置

#2


并输出到当前光标所在的位置

如何做这个部分?
先谢谢了

#3


最简单是模拟粘贴 扫描枪的原理怎么写
Clipboard.SetText("处理后的串口数据"); //把要插入的文本放到剪切板
SendKeys.Send("^v"); // 模拟ctrl+v

也可以用api查找当前光标位置,再插入字符,你可以百度一下

#4


嗯,谢谢了
思路有了就比较好办了

#5


引用 3 楼 gxingmin 的回复:
最简单是模拟粘贴
Clipboard.SetText("处理后的串口数据"); //把要插入的文本放到剪切板
SendKeys.Send("^v"); // 模拟ctrl+v

也可以用api查找当前光标位置,再插入字符,你可以百度一下


很多资料都是在程序内的位置

我理想的做法是,我的程序是在后台运行
比如当前打开的是EXCEL,然后鼠标在某个单元格上,
这时我让串口传来数据,我就把这个数据自动写到这个单元格里了

请仁兄帮我一下


#6


模拟成键盘输入的。你只要在文本框有焦点,就会模拟键盘键码发给你系统。

#7


引用 3 楼 gxingmin 的回复:
最简单是模拟粘贴
Clipboard.SetText("处理后的串口数据"); //把要插入的文本放到剪切板
SendKeys.Send("^v"); // 模拟ctrl+v

也可以用api查找当前光标位置,再插入字符,你可以百度一下


引用 6 楼 wuyazhe 的回复:
模拟成键盘输入的。你只要在文本框有焦点,就会模拟键盘键码发给你系统。


我的做法是:比如说我现在打开了EXCEL光标放在某一单元格里,这个时候我控制
天平向串口发送一个重量值过来,这个值要录入在EXCEL的这个单元格里
所以,这个程序要在后台一直运行,当有接收到串口的数据时才运行SendKeys.Send("^v"); 

现在又有新的问题,如果让我的程序不占用太多资料,我开了一个线程后运行
提示:
在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。
我要怎么办呢

#8


在Main上加上这个标志啊
[STAThread]
static void Main(...)

#9


谢谢大家的帮忙.
我到最后的解决方法是:
就是用了最简单是模拟粘贴
没用多线程的