0

我即将开始开发一个在后台运行的应用程序,它等待某个用户输入,有点像苹果的聚光灯。

基本上,用户会给服务一个特定的组合键来启动它(即CTRL+SpaceCTRL+ p),然后应用程序主 GUI 将被启动。

现在我的问题:

  • 首先,我希望这个应用程序占用空间非常小,不占用很多系统资源,并且不干扰其他应用程序的运行。

    我也想用C#. 到目前为止,我最好的想法是编写一个服务来侦听击键并丢弃不是控制键或跟随控制键的击键。

    这似乎不是最优的有没有更好的方法,有人知道聚光灯是如何工作的吗?

  • 其次,我担心这种服务可能被认定为商场用品。

    我可以采取哪些步骤来确保我的软件不会成为 Avast 和 Spysweeper 等应用程序的目标?

    我需要联系所有这些软件包的制造商并解释我的应用程序的目的吗?

  • 最后,如果有人可以链接到有关如何设置此类服务的资源,我将不胜感激。

4

2 回答 2

2

服务不应该与桌面用户交互,因此它们不应该能够挂钩和监视击键。这可能适用于 XP,但您可能会在 Vista/7 和更高版本的操作系统上遇到很多问题。

您确实需要一个在用户启动时运行的用户空间程序来执行此操作,该程序以与登录用户相同的用户身份运行。

此外,如果您关心最小的占用空间和资源使用量,您不想使用 .NET,因为它需要加载相当大的运行时库并创建相当大的工作集。通常这不是问题,但对于像观察程序这样的东西,最好使用低占用最小 CRT 启动在低占用 C 中编写它。

于 2009-11-11T17:55:55.147 回答
0

我的建议是创建一个 winforms 应用程序,使用 NotificationIcon 将系统托盘图标添加到应用程序的主窗体中。然后隐藏主窗体。应用程序可以接收击键,尤其是当您将 FormsPreview 属性设置为 true 时。您可能还需要挂钩到 windows api 按键事件。

您应该远离恶意软件扫描程序。

您可能想查看此链接以设置系统托盘/赢取表单应用程序。

如何制作仅在系统托盘中运行的 .NET Windows 窗体应用程序?

于 2015-05-11T18:36:34.613 回答