Y++ 社区

示例

托盘 + 全局热键最小例

示例 浏览 1 管理员

托盘类热键常驻

托盘常驻、关闭变隐藏;Ctrl+Shift+S 显示,Ctrl+Shift+Q 退出。

托盘 + 热键最小例

最小可运行组合:托盘常驻 + 全局热键显示/退出。

官网原文:托盘 + 热键。

准备

  • 将 tray.ico 放到工程 资源/(或改代码里的路径)
  • 修饰键:Ctrl=2,Shift=4,Alt=1(可相加);键码与 Windows VK 一致(A=65 等)

源码

托盘类 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_托盘.销毁()
}

相关:托盘对象