问题标签 [systray]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在 Java 中执行特定于操作系统的通知?
我不是专业的程序员(我所掌握的任何 Java 知识都来自 Hard Knocks 学院)。请原谅我要问的愚蠢问题,并适当回答。
我正在开发的一个 Java 应用程序使用非常错误的平台无关通知(例如当文件已成功下载时)。我想使用平台感知通知。在 Linux 上发出通知的代码非常简单:
在 Mac 上它有点复杂但仍然可行:
它需要一个可从此 github 存储库获得的 dylib:https ://github.com/petesh/OSxNotificationCenter
Windows方式是这样的:
关键是,我希望这些片段只在适当的平台上执行;我不希望 Java 在 Windows 上编译 GTK 方法,因为它的依赖项不存在。
如何让它让 Java 识别它,比如“嘿,我正在为 Mac 系统编译,所以我使用的是 Mac 版本的代码。”
python - 程序结束时如何销毁图标托盘
我有一个类,当我的 .py 程序启动时会调用它,它会在 Windows 任务栏中创建一个图标托盘。在其中,有一个选项quit
,它映射到kill_icon_tray
我的类中的函数,它应该终止图标,然后完成我的程序。
这是类(一些方法被省略,因为它们不是必需的):
但是,每当我quit
在图标托盘中单击时,都会返回以下异常:
我尝试将方法修改kill_icon_tray
为此,但它引发了相同的异常:
根据infi.systray
文档,我做得正确:
要在程序结束时销毁图标,请调用
systray.shutdown()
所以我不确定我在这里错过了什么......有人可以帮忙吗?谢谢!
python - 如何在系统托盘中显示/隐藏 Windows 控制台?
我正在完成一个 python 程序,我将作为 exe 分发。我在 Windows 10 64b 上使用 Python 3.7。
用户将双击 exe 来运行我的程序。然后打开一个 Windows 控制台并在此控制台中显示日志。
我的程序不需要任何 gui,但我想为用户提供隐藏带有日志的控制台并在他/她想要从系统托盘中的图标时显示回来的可能性。
我在这里找到了各种答案,但没有一个能满足我的需求。
我想我不是那种想在我们的 python 脚本上使用这个选项的人。它可能非常有用。
我找到了一个在 python 中构建系统托盘图标的教程:
但它是关于打开 Windows 程序,而不是关于显示/隐藏它自己的控制台。
python - 退出后“死”的 tkinter 窗口
我有一个脚本,它创建一个托盘图标,我从中调用两个不同的窗口。
我正在使用的托盘图标库(infi.systray)会自动创建一个退出选项,但如果窗口没有关闭,它们会在退出后保留。他们变得无响应并且应用程序不会退出。我应该怎么做才能使退出选项破坏任何打开的窗口?
这是我的代码:
python - 为什么尽管 python 代码正在执行而没有任何错误,但图标没有显示在系统托盘中?
我刚刚开始学习 python 并尝试创建一个系统托盘图标。该程序正在执行,没有任何错误,但没有显示任何图标。
此代码在 VSCode 中显示以下输出
python - Python从另一个文件关闭文件
我处于一个非常棘手的情况......我已经在 python 上创建了一个应用程序,然后让 SysTrayIcon 为用户添加一个托盘项目以轻松显示/隐藏/关闭应用程序。
不幸的是,quit 方法根本没有关闭我的应用程序,它只是删除了之前创建的托盘图标......
我想做的是同时关闭主应用程序窗口和托盘图标。
对于这种效果,我已经尝试过调用os.system("TASKKILL /F /IM py.exe")
(从正在运行的应用程序启动的 cmd 窗口)。这没有用。我尝试了类似的:
无济于事。
我也试过sys.exit()
了,但这当然只是关闭了托盘图标系统,而不是 cmd 进程。
我的想法有点用完了,所以如果有人有其他提示或想法来解决这个问题,我将不胜感激。
随时询问我是否遗漏了一些信息以便更好地理解这个问题。
python - Windows 10 系统托盘应用程序在运行几个小时后崩溃。可能是什么原因?
我真的想添加更多上下文,但目前我只是迷路了。当我单击链接以显示它失败的哪一行指向此('win32gui.PumpMessages()')时,我可以说它似乎发生在计算机处于待机状态一个小时左右之后。感谢您对我的任何帮助/指责。我只是需要帮助。谢谢
下面是它失败的区域的片段。
以下是错误:
c++ - ShowWindow() 显示空白应用程序,直到从 C++ 中的系统托盘恢复后通过鼠标/键盘进行交互 - Flutter App
我一直想将系统托盘功能合并到我的 Flutter 应用程序中,所以我去修改启动窗口等的本机 C++ 代码,看看我是否可以挂接到它。尽管在 C++ 方面没有太多经验,但我已经能够在系统托盘中为我的应用程序创建一个图标,其菜单允许窗口在隐藏时再次显示(使用ShowWindow(hwnd, SW_HIDE);
)并完全退出。
However when an option in my systray menu is selected to show the window again using ShowWindow(hwnd, SW_NORMAL);
after being hidden, the app stays blank like this:
然后,当最终与窗口交互时,窗口的内容再次显示:
这是到目前为止我添加到我的 win32_window.cpp 的代码(来自默认的 Flutter 应用程序)。我没有包含整个函数,因为我认为这会使事情变得不太清楚,但我也会在本文末尾附上完整的 win32_window.cpp。Win32Window::CreateAndShow():
Win32Window::WndProc():
Win32Window::MessageHandler():
这里发生了什么?我认为使用 UpdateWindow() 会有所帮助,但后来我意识到该应用程序是在 ShowWindow() 上绘制的。我的猜测是这与 Flutter 的运行循环被阻塞有关,但我不知道下一步该去哪里,特别是考虑到我通常不涉足 C++,只是想在运行时为我的应用程序添加一个额外的功能在 Windows 上。
任何帮助将不胜感激,谢谢。
node.js - Nodejs - 小型 Express 服务器 + trayicon + pkg
我试图找出是否可以使用更小的文件大小,为基于 Express 的 API 服务器应用程序提供一个可分发的文件,并带有一些用于基本控件的托盘图标 - 基本上是退出 + 重新启动应用程序 + 在默认浏览器中打开 API。
使用 Electron Builder,我可以在大约 68MB 中执行 --ia32 目标,但想知道是否可以使用更小的大小,以了解更多信息。但是在尝试使用 pkg 使 Systray2 和相关解决方案工作时遇到问题(从 node_modules 获取 exe 文件上的 ENONENT(是的,尝试将其添加到 package.json pkg 资产,或者甚至将该 exe 复制到项目根目录下的 traybin 文件夹)。我我确信有办法,但我可能会遗漏一些可能很明显的东西,所以现成的 Git 会很棒。
因此,如果有任何方便的可能,是否有一些样板可供下载?当我只使用构建器、托盘和通知,但没有 mainWindow、ipc Renderer 等时,下载 Electron 感觉就像浪费空间......