diff --git a/main.js b/main.js index 4609203..c192ae1 100644 --- a/main.js +++ b/main.js @@ -17,6 +17,7 @@ const { autoUpdater, CancellationToken } = require('electron-updater'); const cancellationToken = new CancellationToken() app.allowRendererProcessReuse = false; let mainWindow = null; +let childWindow = [] let isMaximized = false; let env; let regKey; @@ -299,6 +300,31 @@ app.on('ready', () => { }) }); }); + // 创建子窗口 + ipcMain.handle('createChildWindow', (event, config) => { + const child = new BrowserWindow({ + parent: mainWindow, + webPreferences: { + contextIsolation: false, + nodeIntegration: true, + enableRemoteModule: true, + nodeIntegrationInWorker: true, + allowMediaDevices: true, + // preload: path.join(__dirname, 'preload.js') + }, + // show: false, + // frame: false, + // backgroundColor: '#00000000', + // transparent: true, + }) + child.loadURL(config.url) + childWindow.push(child) + child.once('ready-to-show', () => { + child.show() + console.log(config); + child.setSize(config.width, config.height) + }) + }); } }); // 检测更新,在你想要检查更新的时候执行,renderer事件触发后的操作自行编写 diff --git a/preload.js b/preload.js index 51c897d..adecf8a 100644 --- a/preload.js +++ b/preload.js @@ -73,4 +73,8 @@ window.electron = { setRegistry: (uuid) => { ipcRenderer.invoke('setRegistry', uuid) }, + // 创建子窗口 + createChildWindow: (config) => { + ipcRenderer.invoke('createChildWindow', config) + }, } diff --git a/src/page/ShareScreenWindow/index.module.scss b/src/page/ShareScreenWindow/index.module.scss new file mode 100644 index 0000000..ce5388d --- /dev/null +++ b/src/page/ShareScreenWindow/index.module.scss @@ -0,0 +1,5 @@ +.shareScreenWindow { + background-color: red; + color: red; + font-size: 30px; +} \ No newline at end of file diff --git a/src/page/ShareScreenWindow/index.tsx b/src/page/ShareScreenWindow/index.tsx new file mode 100644 index 0000000..9782e4c --- /dev/null +++ b/src/page/ShareScreenWindow/index.tsx @@ -0,0 +1,19 @@ +import styles from '@/page/Meeting/ShareScreenWindow/index.module.scss' +import { useEffect } from "react"; +const ShareScreenWindow: React.FC = () => { + + useEffect(() => { + + }, []); + + + return ( + <> +