@kydronepilot/electron-winstore-auto-launch
Version:
Configure your Electron to start automatically when the user logs in
45 lines (44 loc) • 1.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.WindowsStoreAutoLaunch = exports.StartupTaskState = void 0;
var StartupTaskState;
(function (StartupTaskState) {
StartupTaskState[StartupTaskState["disabled"] = 0] = "disabled";
StartupTaskState[StartupTaskState["disabledByUser"] = 1] = "disabledByUser";
StartupTaskState[StartupTaskState["enabled"] = 2] = "enabled";
})(StartupTaskState = exports.StartupTaskState || (exports.StartupTaskState = {}));
class WindowsStoreAutoLaunch {
/**
* Returns the windows.applicationModel namespace for this model. If the app is not
* running inside an appx container, this will fail.
*
* @returns windows.applicationModel namespace
*/
static getAppModel() {
if (process.platform !== 'win32') {
throw new Error('Platform is not win32');
}
return require('@nodert-win10-rs3/windows.applicationmodel');
}
/**
* Returns the specified startupTask.
*
* @param taskId - ID of the task to fetch
* @returns The task if one exists
*/
static async getStartupTask(taskId) {
return new Promise((resolve, reject) => {
const appModel = WindowsStoreAutoLaunch.getAppModel();
appModel.StartupTask.getAsync(taskId, (error, task) => {
if (error) {
return reject(error);
}
if (task) {
return resolve(task);
}
return resolve(undefined);
});
});
}
}
exports.WindowsStoreAutoLaunch = WindowsStoreAutoLaunch;