はじめに
今回はnode-auto-launchというライブラリをElectronで使ってみるという記事になります。
Auto-launch your app on login.
⭐ Launch any application or executable at startup / login / boot.
⭐ Supports Linux, FreeBSD, Mac (via AppleScript or Launch Agent), and Windows.
⭐ Supports NW.js and Electron (with or without Squirrel; i.e. even if you're using Electron's built-in autoUpdater API).
⭐ Auto-detects your app path for NW.js and Electron apps.
⭐ Supports NW.js and Electron apps in Windows Store (with some caveats).
😞 Not Mac App Store friendly. See Make this Mac App Store compatible for more information.
// DeepL翻訳
ログイン時にアプリを自動起動⭐起動時、ログイン時、ブート時に任意のアプリケーションや実行ファイルを起動します。
⭐Linux, FreeBSD, Mac (AppleScript または Launch Agent 経由), Windows をサポートします。
⭐ NW.jsとElectronをサポートします(Squirrelの有無にかかわらず、つまりElectronの組み込みautoUpdater APIを使用している場合でも)。
⭐ NW.jsとElectronアプリのアプリパスを自動検出します。
⭐ WindowsストアのNW.jsとElectronアプリをサポートします(いくつかの注意点があります)。
😞 Mac App Storeには対応していません。詳しくはMac App Storeに対応させるをご覧ください。
インストール
npm install --save auto-launch
またこの記事では以下のチュートリアル通りにElectronプロジェクトを作成しています。
https://www.electronjs.org/ja/docs/latest/tutorial/quick-start
コード
const { app, BrowserWindow } = require('electron') var AutoLaunch = require('auto-launch'); // pathを書かないようにする var myAppLauncher = new AutoLaunch({ name: 'MyApp', }); myAppLauncher.enable(); myAppLauncher.isEnabled() .then(function(isEnabled){ if(isEnabled){ console.log("自動起動が設定されています"); return; } myAppLauncher.enable(); console.log("自動起動の設定しました"); }) .catch(function(err){ console.log("自動起動の設定に失敗しました"); });
サンプルコードではpathが記載されていますが、Electronを利用している場合には逆に書いてはいけません。
というのもprocess.execPathから推測してくれるので、特定のパスにアプリを配置しなければならないという制約をなくすことができるからです。
options.path - String (optional for NW.js and Electron apps)
The absolute path to your app.
For NW.js and Electron apps, you don't have to specify the path. We guess based on process.execPath.
// DeepL翻訳
options.path - 文字列 (NW.js および Electron アプリではオプション)
アプリの絶対パス。
NW.jsとElectronアプリの場合は、パスを指定する必要はありません。process.execPathから推測します。
確認方法
Windows
設定 -> アプリ -> スタートアップにて対象のアプリが入っているかを確認することができます。

Mac
システム設定 -> 一般 -> ログイン項目にて対象のアプリが入っているかで確認することができます。
