Electron-桌面 App-螢幕遮罩(Screen mask) - 5

更新 發佈閱讀 6 分鐘

前言
公司最近配的一台螢幕,沒辦法調整亮度,亮得要命,眼睛要瞎掉了
所以只好自立自強搞一個螢幕遮罩

上一章節回顧
第一章:顯示 Electron 視窗,可調整透明度
第二章:參數維護移植到 main/js
第三章:增加調整顏色功能
第四章:隱藏 electron 應用程式視窗,讓他看起來就是一個遮罩

本章節內容
桌面下方工具列沒有遮到
桌面下方工具列要不要顯示 electron ?
隱藏到工具列右下角的系統匣(System Tray)中


桌面下方工具列沒有遮到

0. 開啟 src/main.js

1. 調整 BrowserWindow 設定 - fullscreen 設成 true

全螢幕

const win = new BrowserWindow({
...
fullscreen: true, // 全螢幕
...
})

執行 npm start
✅ 下方工具列也有被遮到


桌面下方工具列要不要顯示 electron ?

這個操作因人而異,還是彈性一點透過面板自由設定

  1. 先試試看能不能桌面下方工具列不要顯示 electron
    調整 BrowserWindow 設定 - skipTaskbar 設成 true
    const win = new BrowserWindow({
    ...
    skipTaskbar: true, // 不在工具列顯示
    ...
    })
    執行 npm start
    ✅ 確認 electron 圖示不見了
  2. index.html 面板增加 "顯示於工具列" 勾勾
    <!-- src.index.html -->
    <label class="block select-none">
    顯示於工具列
    <input type="checkbox" id="showTaskbarCheck" />
    </label>
  3. 增加 "顯示於工具列" click 監聽,發送 set-show-taskbar 事件
    <!-- src.index.html -->
    <script>
    ...
    const showTaskbarCheck = document.getElementById('showTaskbarCheck');
    ...
    showTaskbarCheck.onclick = (e) => ipcRenderer.send('set-show-taskbar', e.target.checked);
    </script>
  4. main.js 接收 set-show-taskbar 事件
    // src/main.js
    ipcMain.on('set-show-taskbar', (event, active) => {
    win.setSkipTaskbar(!active)
    })

執行 npm start
✅ 確認"顯示於工具列"可以控制 electron 的顯示


隱藏到工具列右下角的系統匣(System Tray)中

在 Electron 中,如果你希望應用程式「不要佔據下方工具列(Taskbar/Dock)」,而是隱藏到右下角的 系統匣(System Tray) 中,你需要結合兩個步驟:

  1. 隱藏工具列圖示: 透過 skipTaskbar 屬性。
  2. 建立系統匣圖示: 透過 Tray 模組,這樣你才能在隱藏選單(小箭頭)裡找到它。
// src/main.js
const { app, BrowserWindow, screen, ipcMain } = require('electron')
const { Tray, Menu, nativeImage } = require('electron') // 👈 引入 Tray 和 Menu 模組。
function createWindow() {
...
...
// --- 建立 Tray (系統匣圖示) ---
const icon = nativeImage.createFromPath(path.join(__dirname, 'icon.png'));
tray = new Tray(icon);
// 設定滑鼠移上去顯示的文字
tray.setToolTip('螢幕遮罩工具');
// 建立右鍵選單
const contextMenu = Menu.buildFromTemplate([
{ label: '顯示控制面板', click: () => win.webContents.send('show-panel', true) },
{ label: '隱藏控制面板', click: () => win.webContents.send('show-panel', false) },
{ label: '完全退出', click: () => app.quit() }
]);
tray.setContextMenu(contextMenu);
// 選用:點擊圖示時切換顯示/隱藏
tray.on('click', () => {
win.isVisible() ? win.hide() : win.show();
});
}
<!-- src/index.html -->
<script>
...
ipcRenderer.on('show-panel', (event, active) => {
controlPanel.hidden = !active
})
...
</script>
留言
avatar-img
李昀瑾的沙龍
0會員
40內容數
李昀瑾的沙龍的其他內容
2026/04/16
前言 公司最近配的一台螢幕,沒辦法調整亮度,亮得要命,眼睛要瞎掉了 所以只好自立自強搞一個螢幕遮罩 上一章節回顧 第一章:顯示 Electron 視窗,可調整透明度 第二章:參數維護移植到 main/js 第三章:增加調整顏色功能 本章節內容 隱藏 electron 應用程式視窗
2026/04/16
前言 公司最近配的一台螢幕,沒辦法調整亮度,亮得要命,眼睛要瞎掉了 所以只好自立自強搞一個螢幕遮罩 上一章節回顧 第一章:顯示 Electron 視窗,可調整透明度 第二章:參數維護移植到 main/js 第三章:增加調整顏色功能 本章節內容 隱藏 electron 應用程式視窗
2026/04/09
前言 公司最近配的一台螢幕,沒辦法調整亮度,亮得要命,眼睛要瞎掉了 所以只好自立自強搞一個螢幕遮罩 上一章節回顧 第一章:顯示 Electron 視窗,可調整透明度 第二章:參數維護移植到 main/js 本章節內容 增加調整顏色功能
2026/04/09
前言 公司最近配的一台螢幕,沒辦法調整亮度,亮得要命,眼睛要瞎掉了 所以只好自立自強搞一個螢幕遮罩 上一章節回顧 第一章:顯示 Electron 視窗,可調整透明度 第二章:參數維護移植到 main/js 本章節內容 增加調整顏色功能
2026/04/02
前言 公司最近配的一台螢幕,沒辦法調整亮度,亮得要命,眼睛要瞎掉了所以只好自立自強搞一個螢幕遮罩 上一章節回顧 第一章:顯示 Electron 視窗,可調整透明度 本章節內容 參數維護移植到 main/js
2026/04/02
前言 公司最近配的一台螢幕,沒辦法調整亮度,亮得要命,眼睛要瞎掉了所以只好自立自強搞一個螢幕遮罩 上一章節回顧 第一章:顯示 Electron 視窗,可調整透明度 本章節內容 參數維護移植到 main/js
看更多
你可能也想看
Thumbnail
5 月,方格創作島正式開島。這是一趟 28 天的創作旅程。活動期間,每週都會有新的任務地圖與陪跑計畫,從最簡單的帳號使用、沙龍建立,到帶著你從一句話、一張照片開始,一步一步找到屬於自己的創作節奏。不需要長篇大論,不需要完美的文筆,只需要帶上你今天的日常,就可以出發。征服創作島,抱回靈感與大獎!
Thumbnail
5 月,方格創作島正式開島。這是一趟 28 天的創作旅程。活動期間,每週都會有新的任務地圖與陪跑計畫,從最簡單的帳號使用、沙龍建立,到帶著你從一句話、一張照片開始,一步一步找到屬於自己的創作節奏。不需要長篇大論,不需要完美的文筆,只需要帶上你今天的日常,就可以出發。征服創作島,抱回靈感與大獎!
Thumbnail
當時間變少之後,看戲反而變得更加重要——這是在成為母親之後,我第一次誠實地面對這一件事:我沒有那麼多的晚上,可以任性地留給自己了。看戲不再只是「今天有沒有空」,而是牽動整個週末的結構,誰應該照顧孩子,我該在什麼時間回到家,隔天還有沒有精神帶小孩⋯⋯於是,我不得不學會一件以前並不擅長的事:挑選。
Thumbnail
當時間變少之後,看戲反而變得更加重要——這是在成為母親之後,我第一次誠實地面對這一件事:我沒有那麼多的晚上,可以任性地留給自己了。看戲不再只是「今天有沒有空」,而是牽動整個週末的結構,誰應該照顧孩子,我該在什麼時間回到家,隔天還有沒有精神帶小孩⋯⋯於是,我不得不學會一件以前並不擅長的事:挑選。
Thumbnail
見諸參與鄧伯宸口述,鄧湘庭於〈那個大霧的時代〉記述父親回憶,鄧伯宸因故遭受牽連,而案件核心的三人,在鄧伯宸記憶裡:「成立了成大共產黨,他們製作了五星徽章,印刷共產黨宣言——刻鋼板的——他們收集中共空飄的傳單,以及中國共產黨中央委員會有關文化大革命決議文的英文打字稿,另外還有手槍子彈十發。」
Thumbnail
見諸參與鄧伯宸口述,鄧湘庭於〈那個大霧的時代〉記述父親回憶,鄧伯宸因故遭受牽連,而案件核心的三人,在鄧伯宸記憶裡:「成立了成大共產黨,他們製作了五星徽章,印刷共產黨宣言——刻鋼板的——他們收集中共空飄的傳單,以及中國共產黨中央委員會有關文化大革命決議文的英文打字稿,另外還有手槍子彈十發。」
Thumbnail
從實際應用中學習 Python 程式設計,提升技能並建立作品集。文章提供八個循序漸進的 Python 專案範例,涵蓋檔案操作、網路爬蟲、Web 應用、自動化腳本、數據分析、遊戲開發、API 互動及應用程式部署,並附上實戰建議及學習資源。
Thumbnail
從實際應用中學習 Python 程式設計,提升技能並建立作品集。文章提供八個循序漸進的 Python 專案範例,涵蓋檔案操作、網路爬蟲、Web 應用、自動化腳本、數據分析、遊戲開發、API 互動及應用程式部署,並附上實戰建議及學習資源。
Thumbnail
這是一場從「網路連結 → 線下見面」的活動,我一開始其實有些猶豫,畢竟地點對我來說不近,加上平常在社群裡其實不太主動互動。 但因為主辦人西打誠意滿滿地邀請,甚至還提出補貼車資,最後我決定自費參加。現在回頭看,真的很值得! 場地很有感,氛圍超溫暖 一踏進場地就被暖黃的燈光包圍,小閣樓超舒適,還
Thumbnail
這是一場從「網路連結 → 線下見面」的活動,我一開始其實有些猶豫,畢竟地點對我來說不近,加上平常在社群裡其實不太主動互動。 但因為主辦人西打誠意滿滿地邀請,甚至還提出補貼車資,最後我決定自費參加。現在回頭看,真的很值得! 場地很有感,氛圍超溫暖 一踏進場地就被暖黃的燈光包圍,小閣樓超舒適,還
Thumbnail
這份是我在使用Lovable做網站時,邊做邊紀錄的完整攻略,分享給需要的人。 給開發者/接案者的前言: Lovable 是一個強大的 AI 全端開發工具,要用它來賺錢,您必須清楚它的邊界在哪裡。這份指南將協助您完全掌控這個工具,從而自信地向客戶報價。 第一章:深度認識 Lovable 1.1
Thumbnail
這份是我在使用Lovable做網站時,邊做邊紀錄的完整攻略,分享給需要的人。 給開發者/接案者的前言: Lovable 是一個強大的 AI 全端開發工具,要用它來賺錢,您必須清楚它的邊界在哪裡。這份指南將協助您完全掌控這個工具,從而自信地向客戶報價。 第一章:深度認識 Lovable 1.1
Thumbnail
當代名導基里爾.賽勒布倫尼科夫身兼電影、劇場與歌劇導演,其作品流動著強烈的反叛與詩意。在俄烏戰爭爆發後,他持續以創作回應專制體制的壓迫。《傳奇:帕拉贊諾夫的十段殘篇》致敬蘇聯電影大師帕拉贊諾夫。本文作者透過媒介本質的分析,解構賽勒布倫尼科夫如何利用影劇雙棲的特質,在荒謬世道中尋找藝術的「生存之道」。
Thumbnail
當代名導基里爾.賽勒布倫尼科夫身兼電影、劇場與歌劇導演,其作品流動著強烈的反叛與詩意。在俄烏戰爭爆發後,他持續以創作回應專制體制的壓迫。《傳奇:帕拉贊諾夫的十段殘篇》致敬蘇聯電影大師帕拉贊諾夫。本文作者透過媒介本質的分析,解構賽勒布倫尼科夫如何利用影劇雙棲的特質,在荒謬世道中尋找藝術的「生存之道」。
Thumbnail
網站開發專案成功的關鍵在於與客戶的有效溝通。本文分享一個成功案例,說明如何透過明確掌握專案需求、主動提供技術方案、定期回報進度、完善技術協助及建立良好客戶關係,順利完成一個中文影片學習分享網站的建置,並獲得客戶高度滿意與後續合作機會。
Thumbnail
網站開發專案成功的關鍵在於與客戶的有效溝通。本文分享一個成功案例,說明如何透過明確掌握專案需求、主動提供技術方案、定期回報進度、完善技術協助及建立良好客戶關係,順利完成一個中文影片學習分享網站的建置,並獲得客戶高度滿意與後續合作機會。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News