将CMD python应用程序移动到系统托盘(windows)

将CMD python应用程序移动到系统托盘(windows),python,windows,Python,Windows,我有一个python 2.7应用程序,我想从CMD窗口移动到系统/通知托盘(Windows 7)。python脚本当前侦听特定的TCP消息,并在收到消息后将其记录到文件中 我最近从这里回答的另一个问题中找到了以下系统托盘代码: 通过创建systrayicon.py模块,我已经能够正确运行systrayicon演示。我的问题是,当我尝试在systrayicon旁边运行我的TCP应用程序时(一些演示代码保持不变),它只运行我的应用程序或系统托盘应用程序,而不是两者都运行。更具体地说,如果我在sys

我有一个python 2.7应用程序,我想从CMD窗口移动到系统/通知托盘(Windows 7)。python脚本当前侦听特定的TCP消息,并在收到消息后将其记录到文件中

我最近从这里回答的另一个问题中找到了以下系统托盘代码:

通过创建systrayicon.py模块,我已经能够正确运行systrayicon演示。我的问题是,当我尝试在systrayicon旁边运行我的TCP应用程序时(一些演示代码保持不变),它只运行我的应用程序或系统托盘应用程序,而不是两者都运行。更具体地说,如果我在systrayicon()之前列出我的应用程序的主(sys.argv),它只运行没有托盘图标的应用程序。如果在我的应用程序之前列出了systrayicon,它将运行系统托盘演示,直到我选择“退出”,然后它将运行我的应用程序

如果我将TCP应用程序插入其中一个菜单选择功能,我就能够使其正确运行,例如:

def hello(sysTrayIcon): 
    main(sys.argv)
但我希望我的应用程序在打开应用程序时开始监听,而不必从菜单中选择启动它的内容


很抱歉,这可能是一个非常基本的问题,可能措辞不好。

我认为实现这一点最简单的方法是使用Tkinter或wxPython用一小段GUI代码包装脚本。然后,它可以驻留在托盘中。您可能需要在线程中运行脚本,因为它听起来像是一个长时间运行的进程,会阻塞工具箱的主循环。您可能需要在线程代码中添加一些代码,以便在GUI退出时终止脚本,但除此之外,这应该非常简单