最小可运行组合:托盘常驻 + 全局热键显示/退出。更完整的托盘交互见安装目录中的示例工程。
准备
- 将
tray.ico放到工程资源/(或改下面路径) - 修饰键:
Ctrl=2,Shift=4,Alt=1(可相加);键码A=65等与 Windows VK 一致
代码(可粘到 main.yc)
托盘类 g_托盘
整数 g_热键显示 = 0
整数 g_热键退出 = 0
逻辑 g_强制退出 = 假
函数 热键显示窗口 () {
主窗口.显示()
激活窗口()
}
函数 热键退出程序 () {
g_强制退出 = 真
关闭()
}
函数 托盘单击 () {
主窗口.显示()
激活窗口()
}
函数 主窗口.创建完毕 () {
文本 图标 = "资源\\tray.ico"
如果 (文件存在(图标) == 假) {
输出("请放入 资源/tray.ico")
返回 ()
}
g_托盘.单击(&托盘单击)
g_托盘.置图标(图标)
g_托盘.显示("托盘+热键最小例")
// Ctrl+Shift+S 显示;Ctrl+Shift+Q 退出
g_热键显示 = 注册热键(6, 83, &热键显示窗口)
g_热键退出 = 注册热键(6, 81, &热键退出程序)
}
函数 主窗口.即将关闭 () {
如果 (g_强制退出 == 假) {
主窗口.隐藏()
关闭(假)
返回 ()
}
如果 (g_热键显示 != 0) {
注销热键(g_热键显示)
}
如果 (g_热键退出 != 0) {
注销热键(g_热键退出)
}
注销全部热键()
g_托盘.销毁()
}
行为
| 操作 | 效果 |
|---|---|
| 关主窗口 | 藏到托盘(不退出) |
托盘单击 / Ctrl+Shift+S |
显示主窗口 |
Ctrl+Shift+Q |
真正退出并清理热键/托盘 |
热键 API 说明见支持库「热键」;托盘见「托盘类」。