web-dev-qa-db-ja.com

電子:レンダリングされたプロセスからウィンドウを最小化する方法

シナリオ

ウィンドウがあり、ウィンドウを開いているadd task buttonがあります。ユーザーがクリックするたびに、ウィンドウが開きます。 add task windowにそれを最小化するボタンがあります。この最小化ボタンを実装するにはどうすればよいですか?

コード

以下のコードを使用して、closemaximizeウィンドウを作成できます。

var winclose = function () {
    window.close();
}

var winmaximize = function () {
    window.moveTo(0, 0);
    window.resizeTo(screen.width, screen.height);
}

ただし、レンダリングされたプロセスからウィンドウを最小化できる関数を見つけることができません。

助けてください、どうもありがとう。

注意:

ブラウザは、開発者にそれらを最小化する機能を提供しません。しかし、ここに別のシナリオがあります。ここでは、Electronjsが提供するクロムを使用しています。したがって、デスクトップアプリケーションを開発しているので、そうする方法が必要です

ダミーのダウンロードリンク: OneDriveからダウンロード

8
Vikas Bansal

それぞれのBrowserWindowインスタンスで minimize() を呼び出すことができます。問題は、このインスタンスに最適にアクセスする方法です。これは、ウィンドウを開く方法と最小化ボタンの場所によって異なります。あなたの例から、最小化ボタンは実際には閉じたいウィンドウにあると思います。その場合、ユーザーがその中のボタンをクリックすると、ウィンドウに現在フォーカスがあるはずなので、フォーカスされたウィンドウを最小化することができます。 :

_const { remote } = require('electron')
remote.BrowserWindow.getFocusedWindow().minimize();
_

または、たとえば、他のウィンドウからタスクウィンドウを最小化したい場合は、BrowserWindow.fromId()を使用して問題のウィンドウにアクセスできます。

19
inukshuk

このスレッドに遭遇し、electron vueを使用している場合は、レンダラー内から直接this.$electron.remote.BrowserWindow.getFocusedWindow().minimize();を使用できます。

4
li x

これは私のために働きます:

const { remote } = require('electron')
remote.getCurrentWindow().minimize();
1
vboyko