2 lxh592780465 lxh592780465 于 2015.07.14 14:53 提问

服务使用comm通信问题

描述:有一A.exe通过comm口连接卡机收取卡机的打卡记录。创建了一个服务根据数据库中卡机列表自动创建A.exe进程传递卡机信息,一个A.exe处理一个卡机。
问题:用服务会照成卡机一下连的上,一下连不上。把服务改成windows应用程序方式运行则不会出现连不上的情况。
请问如何修改才能使服务也能一直连上?

3个回答

Tiger_Zhao
Tiger_Zhao   Rxr 2015.07.14 16:48

A.exe是不是通过控件和comm通讯的?在服务的属性中,把“允许服务与桌面交互”选上试试。

Tiger_Zhao
Tiger_Zhao 回复lxh592780465: 你在服务中启动 A.exe 的时候试试指定用户(用应用程序方式运行测试时的用户好了)。
2 年多之前 回复
lxh592780465
lxh592780465 允许服务与桌面交互”选上还是不行
2 年多之前 回复
lxh592780465
lxh592780465 谢谢!是通过system.io.ports.serialport 这个类通信
2 年多之前 回复
oyljerry
oyljerry   Ds   Rxr 2015.07.14 20:26

应该是服务进程session不是当前用户session,所以跟串口通信有问题。这种用户态通信,最好还是用windows应用程序来做。

lxh592780465
lxh592780465   2015.07.16 17:58

服务是通过system.diagnostics.process创建A.EXE进程的。A.EXE就是windows应用程序。感觉服务进程只是启动A.exe。不要继承他的session,用户什么的就应该没问题

Csdn user default icon
上传中...
上传图片
插入图片