1. 桌面应用是怎么制作的?

窗口监控

最近我在制作窗口监控的程序,现在已经使用Go语言完成了对基本逻辑的编写,只要在后台运行程序,就可以窗口和应用的使用数据保存,数据存储于sqlite数据库中 接下来,我想要使用Go语言的GUI框架可视化,不想使用之前一直使用的浏览器了,想尝试新东西。

  1. 可以最小化到托盘的程序如何制作?
    昨天(2024.11.25)的我或许无法回答这个问题,但是今天已经可以,尽管只是皮毛。
    我使用的工具是Electron(网上说它有占用体积大等劣势,但这不是我刚开始开发桌面应用应该考虑的),想在关闭程序的时候最小化到托盘,只需要
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    const { Tray }  = require('electron)
    let tray
    /* 托盘操作项目 */
    const tray_operation = () => {
    // 创建托盘图标
    tray = new Tray(path.join(__dirname, 'icon.png'));
    const contextMenu = Menu.buildFromTemplate([
    { label: '显示', click: () => { mainWindow.show(); } },
    {
    label: '退出', click: () => {
    app.isQuiting = true;
    app.quit();
    }
    }
    ])

    // 设置托盘图标提示
    tray.setToolTip('timeChecker');
    tray.setContextMenu(contextMenu);

    // 双击托盘图标显示应用
    tray.on('double-click', () => {
    mainWindow.show();
    })
    }

    app.on('ready',()=>{
    /* other code*/
    tray_operation()
    /* other code*/
    })