如何让Windows服务发出哔哔声?

时间:2009-08-17 04:46:51

标签: windows service

我有一项服务,可以作为多个应用/服务器的监视器。此计算机上没有用户会话。如果出现问题,我希望监视器能够在内部扬声器上发出哔哔声(这是我的队列,可以解决它所抱怨的任何问题)

当我在Windows上尝试Beep()API时没有任何反应 - 我怀疑问题是服务会话不允许发出噪音?

我可以做这个工作吗?关于如何使服务提醒我的任何其他想法?

-CG

5 个答案:

答案 0 :(得分:6)

在\ device \ beep上调用CreateFile,然后向下发送IOCTL_BEEP_SET(有关详细信息,请参阅http://www.koders.com/c/fidFEC3527B9D951559D62722A9C0C603863106CA9B.aspx

答案 1 :(得分:1)

如果您允许它与桌面交互(可在某处配置选项,我不记得在哪里),它可能会有效。

但就个人而言,我会给我发电子邮件。

虽然您可以使用任务调度API为自己安排任务,但下次登录时可以看到它。

我不知道;你有几个选择。我会避免发出哔哔声。

答案 2 :(得分:0)

尝试将beep char“\ a”发送到控制台。不确定它是否会起作用。

答案 3 :(得分:0)

哔哔似乎不是一个好主意 - 最终可能会让每个人都疯狂...... 我也同意“与桌面交互”选项,您可以在服务参数中设置此项,请参阅A Windows Service without a template

答案 4 :(得分:0)

我建议创建一个简单的客户端应用程序,轮询该服务器以查询任何问题并返回一组状态消息。然后将提出适当的UI(例如托盘上的气球),发送的电子邮件等,其中包含任何警告或失败消息。

这样你也知道看门狗本身正在运行并且具有网络连接 - 如果看门狗死机和/或机器锁定,你就不会知道。

当您在午餐后机器开始连续发出哔哔声时,它也可以避免被抛出窗外。 [+1到@mikej]: - )

民意调查期应该是您所需的最短响应时间的一半(见Nyquist sampling rate)。