當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript app.requestSingleInstanceLock方法代碼示例

本文整理匯總了TypeScript中electron.app.requestSingleInstanceLock方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript app.requestSingleInstanceLock方法的具體用法?TypeScript app.requestSingleInstanceLock怎麽用?TypeScript app.requestSingleInstanceLock使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在electron.app的用法示例。


在下文中一共展示了app.requestSingleInstanceLock方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: quit

const checkSingleInstance = () => {
  if (process.mas) {
    isFirstInstance = true;
  } else {
    isFirstInstance = app.requestSingleInstanceLock();

    if (!EnvironmentUtil.platform.IS_WINDOWS && !isFirstInstance) {
      quit();
    } else {
      app.on('second-instance', () => WindowManager.showPrimaryWindow());
    }
  }
};
開發者ID:wireapp,項目名稱:wire-desktop,代碼行數:13,代碼來源:lifecycle.ts

示例2: handlePotentialProtocolLaunch

export const listenForProtocolHandler = () => {
  const gotTheLock = app.requestSingleInstanceLock();
  if (!gotTheLock) app.quit();

  app.on('open-url', (_, url) => {
    if (url.startsWith(`${PROTOCOL}://`)) {
      handlePotentialProtocolLaunch(url);
    }
  });

  if (process.platform === 'win32') {
    scanArgv(process.argv);
  }
};
開發者ID:cocoflan,項目名稱:fiddle-electron,代碼行數:14,代碼來源:protocol.ts

示例3: setInterval

	autoUpdater.logger = log;

	const FOUR_HOURS = 1000 * 60 * 60 * 4;
	setInterval(() => {
		autoUpdater.checkForUpdates();
	}, FOUR_HOURS);

	autoUpdater.checkForUpdates();
}

let mainWindow: BrowserWindow;
let isQuitting = false;
let prevMessageCount = 0;
let dockMenu: Menu;

if (!app.requestSingleInstanceLock()) {
	app.quit();
}

app.on('second-instance', () => {
	if (mainWindow) {
		if (mainWindow.isMinimized()) {
			mainWindow.restore();
		}

		mainWindow.show();
	}
});

function updateBadge(conversations: Conversation[]): void {
	// Ignore `Sindre messaged you` blinking
開發者ID:kusamakura,項目名稱:caprine,代碼行數:31,代碼來源:index.ts

示例4:

import { backgroundJob } from './background-job';
import { backgroundService } from './background-service';
import { app, ipcMain, powerMonitor } from 'electron';
import { logManager } from './log-manager';
let logger = logManager.getLogger('AppIndex');

import AppManager from './app-manager';

import WindowManager from './window-manager';
import { extensionsManager } from './extensions-manager';
import AppUpdater from './app-updater';
import config from './config';

/* Single Instance Check */

const gotTheLock = app.requestSingleInstanceLock();

if (!gotTheLock) {
    logger.info('Quiting instance.');
    app.quit();
} else {
    app.on('second-instance', (event, commandLine, workingDirectory) => {
        // Someone tried to run a second instance, we should focus our window.
        logger.info('Make single instance');
        WindowManager.openMainWindow();
    });
    AppUpdater.init();

    if (config.isDev) {
        // const reloadFile = path.join(config.client);
        // require('electron-reload')(reloadFile);
開發者ID:MayGo,項目名稱:backer-timetracker,代碼行數:31,代碼來源:index.ts


注:本文中的electron.app.requestSingleInstanceLock方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。