代码之家  ›  专栏  ›  技术社区  ›  jackjumper

关闭任务托盘应用程序

  •  4
  • jackjumper  · 技术社区  · 14 年前

    我有一组在任务托盘中运行的服务器应用程序。我正在尝试用C语言编写一个小的服务器管理应用程序,它可以优雅地关闭应用程序。但是我不知道怎么做。

    我可以得到这个过程(进程类的一个实例)。调用进程。CutelMeNeWOW()不工作。你没有得到一个进程。主窗口句柄用于一个任务托盘进程(它是零,并且被证明是这种情况),所以我不能发送,例如,WMySysScript,SCHORACK消息。

    我可以杀死它,但那不优雅。有什么想法吗?服务器应用程序是用delphi win32编写的。我可以修改它们。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Matthew Ferreira    14 年前

    你可以用 pipes 给他们发信息。

        2
  •  2
  •   Hans Passant    14 年前

    可以使用枚举窗口迭代窗口,以找到与托盘图标关联的隐藏窗口。这都是相当容易出错的。干净利落地这样做,让这些“服务器应用程序”创建一个命名管道。您可以使用众所周知的名称在Manager应用程序中连接到它们,然后向它们发送命令。system.io.pipes命名空间。