我正在用 C# 开发一个 Windows 服务。我的要求之一是获得一些用户输入:提供一些选项并让他们选择一个;根据他们的选择,服务应该执行相关的操作。是否可以使用 C# 在 Windows 服务中获取用户输入?
问问题
2633 次
6 回答
3
不,Windows 服务不是为此而设计的。您将需要使用桌面或 Web 应用程序。如果有充分的理由使用服务,您将需要创建一个应用程序并让它向服务发送或传达输入。
于 2012-12-04T11:47:12.423 回答
2
我会编写一个单独的应用程序来管理数据库中的选项,用户可以更新服务也连接到的这个数据库,这取决于服务应该采取相应行动的这些值
于 2012-12-04T11:49:06.753 回答
1
不,这是不可能的。您应该创建另一个 Windows 应用程序(例如 winforms 或 WPF)并与服务通信并发送用户输入。您可以通过 WCF 进行通信。
于 2012-12-04T11:48:30.863 回答
1
您可以使用 ServiceBroker 对用户输入消息进行排队,并将结果转储到另一个队列中,以针对 UserId 或唯一用户密钥。
于 2012-12-04T11:49:42.257 回答
1
就像其他人说的那样,这是不可能的。顾名思义,Windows 服务就是一个服务。如果您想将数据发送到 Windows 服务,您可以通过 ServiceController 类(来自另一个应用程序)来完成,或者如果您感觉特别喜欢 WCF,则可以这样做。
您为什么将其开发为服务?
于 2012-12-04T11:56:22.243 回答
0
是的,可以从 Windows 服务获取鼠标和键盘的输入。这并不意味着,我们可以直接与 windows 服务交互。服务代码可以读取最后的键盘输入和鼠标位置等事件。例如,服务可以使用Cursor.Position
属性读取当前鼠标位置。
于 2016-12-27T10:32:34.383 回答