这是一种医学实验室仪器(我们的产品),通过 USB 端口连接到 Windows 7 系统,并由开机后由 Windows 服务启动的应用程序控制。
我的目标是能够通过与主应用程序并行运行一个简单的应用程序来诊断仪器问题。与仪器的通信是通过最终与 COM 对象通信的服务器(在单线程单元中)实现的。
在我的诊断应用程序中,我按照与主应用程序相同的步骤连接到仪器。
在最初的几次尝试之后,我意识到与仪器相关的进程在系统帐户下运行,而我的应用程序在用户帐户下运行。我停止了主应用程序的服务并更改了它的登录属性以匹配用户帐户的登录属性。我的诊断应用程序仍然无法连接到 USB 设备。
我 90% 的时间都是一名固件开发人员,当我不得不处理 Windows 系统的丛林时,我的头晕目眩。让我感到沮丧的是,在一种情况下,这一切都有效,但这种情况只是为了调试主应用程序,但它在用户模式下不起作用。
如果主应用程序不是由 Windows 服务启动,而是由控制台应用程序启动,因此所有进程都在用户帐户下,我的诊断应用程序运行良好。
就在同一用户帐户下运行的两个并发应用程序使用同一设备服务器而言,这两种情况有什么区别?
谢谢你。