전자는 자체 시작(레지스트리 쓰기)을 지원합니다.

참고문서:
https://newsn.net/say/electron-auto-launch.html

이 방법은 공식 API(
https://electronjs.org/docs/api/app#appsetloginitesettingssettings-macos-windows )에서 제공됩니다.

공식 컨텐츠입니다

app.setLoginItemSettings(설정) macOS Windows

  • 설정 개체
  • openAtLogin 부울(선택 사항) - 로그인 시 앱을 시작하려면 true이고, 로그인 시작 항목으로 앱을 제거하려면 false입니다. 기본값은 false
    openAsHidden Boolean(선택 사항) macOS - true는 숨겨진 앱을 실행한다는 의미입니다. 기본값은 거짓입니다. 사용자는 시스템 환경설정에서 이 설정을 편집하여 애플리케이션을 열 때 app.getLoginItemSettings().wasOpenedAsHidden의 현재 값을 확인할 수 있습니다. 이 구성은 MAS 빌드 시에는 사용할 수 없습니다.
    path 문자열(선택 사항) Windows - 로그인 시 실행될 실행 파일입니다. 기본값은 process.execPath
    args 문자열 Windows - 실행 파일에 전달될 명령줄 인수입니다 . 기본값은 빈 배열입니다. 경로 주변의 따옴표를 참고하세요.
    애플리케이션의 로그인 설정을 지정합니다.

Squirrel을 사용하여 Windows에서 Electron의 autoUpdater를 사용해야 하는 경우 시작 경로를 Update.exe로 설정하고 애플리케이션 이름을 지정하는 매개변수를 전달해야 합니다. 예를 들어:

const appFolder = path.dirname(process.execPath)
const updateExe = path.resolve(appFolder, '..', 'Update.exe')
const exeName = path.basename(process.execPath)

app.setLoginItemSettings({
  openAtLogin: true,
  path: updateExe,
  args: [
    '--processStart', `"${exeName}"`,
    '--process-start-args', `"--hidden"`
  ]
})

이것은 내 코드입니다.

중요사항: openAtLogin 매개변수의 참값과 거짓값은 매개변수 전달로 풀 수 없고 메소드 2개만 작성하면 됩니다.(물론 제 컴퓨터의 버그인지는 모르겠지만 꼭 확인해주세요)

主进程

import ipcMain from 'electron';

const appFolder = path.dirname(process.execPath);
const updateExe = path.resolve(appFolder, 'test.exe');

   ipcMain.on('changeAutoStart-open',()=>{
           app.setLoginItemSettings({
               openAtLogin: true,
               path: updateExe,
               args: []
           });
   });
   ipcMain.on('changeAutoStart-closed',()=>{
           app.setLoginItemSettings({
               openAtLogin: false,
               path: updateExe,
               args: []
           });
   })


渲染进程

  // 对自动启动场景,进行处理
  if('autoStart' == name){
    if(checked){
        ipcRenderer.send('changeAutoStart-open');
    } else {
        ipcRenderer.send('changeAutoStart-closed');
    }
  };

추천

출처blog.csdn.net/weixin_44325637/article/details/100729131