ipcMain.ts 817 B

123456789101112131415161718192021222324252627282930313233343536
  1. import { ipcMain } from "electron";
  2. import {
  3. hideMainWin,
  4. isMaximized,
  5. minimizeMainWin,
  6. unmaximizeMainWin,
  7. maximizeMainWin,
  8. middleMainWin,
  9. } from "../win/mainWin";
  10. export const initIpcMain = () => {
  11. // 获取当前窗口
  12. // callback(BrowserWindow.fromWebContents(e.sender), e, ...par)
  13. const handle = (name: string, callback: Function) => {
  14. ipcMain.handle(name, (e, ...par) => callback(e, ...par));
  15. };
  16. // 关闭窗口
  17. handle("close", () => hideMainWin());
  18. // 最小化
  19. handle("min", () => minimizeMainWin());
  20. // 最大化
  21. handle("max", () => {
  22. let obj = { type: "max", data: "unmax" };
  23. if (isMaximized()) {
  24. unmaximizeMainWin();
  25. } else {
  26. obj.data = "max";
  27. maximizeMainWin();
  28. }
  29. return obj;
  30. });
  31. handle("middle", () => middleMainWin());
  32. };