問題タブ [single-instance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
336 参照

contextmenu - Windowsレジストリ。アプリケーションの単一インスタンス(多くはない)を開始します。

.NETアプリケーションを作成しましたが、Windowsのコンテキストメニューにそのアプリケーションへの参照を追加する必要があります。私はこのようにそれをしました:added HKEY_CLASSES_ROOT\*\shell\myapp\command to my registry。動作しますが、選択したファイルの数と同じ数のアプリのインスタンスを起動します。私は本当にアプリのインスタンスを1つだけ必要とします。

残りのすべてのインスタンスのパラメーターを開始して収集するために、を実装しmutexました。しかし、これが正しい方法だとは思いません。

たとえば、procmon複数のファイル->コンテキストメニュー->アーカイブに追加を選択したときの7-zipのパフォーマンスを見てきました。7-zipのインスタンスが1つだけ開始されました。複数のファイルを選択した場合のシングルインスタンスアプリのロジック->コンテキストメニュー->私のアプリはレジストリで実行する必要があると思います。役立つチュートリアルが見つかりませんでした。ありがとう!

0 投票する
1 に答える
311 参照

.net - 相互排除が .NET Mutex クラスで機能しない

2 つの名前付きミューテックスを使用して相互排除を実現するにはどうすればよいですか? 次のコードは機能するはずですが、機能しません。

Process Explorer を使用して、同じ名前を参照する 2 つのミューテックス ハンドルがあることを確認しました。これはうまくいくはずです...何が欠けていますか?

0 投票する
2 に答える
6574 参照

android - アクセス許可エラー java.lang.SecurityException の取得: 電子メールの添付ファイル名の取得中に 3.x Android デバイスでアクセス許可が拒否される

起動モードを「singleInstance」にしたときに、MYApp で電子メールを開く際に問題に直面しています。

メールの添付ファイルからファイル名を読み取り、画面に表示するサンプル Android プロジェクトを添付しました。onCreate の場合は問題なく動作しますが、アプリの起動モードが singleInstance の場合、onNewIntent でエラーがスローされます。

Launchmode.java

}

Androidマニフェスト

再現手順 1) デバイスに apk をインストールします。2) デバイスの Gmail ネイティブ アプリに移動し、添付ファイル (オフィス ドキュメント) を開いて表示します。3) LaunchMode アプリを選択してアクションを完了します。4) LaunchMode アプリは画面にファイル名を表示します。

これは初めて (onCreate フロー) は正常に動作しますが、このアプリがバックグラウンドで切り替えられ、再度 2、3、4 の手順を試すと、エラーでアプリがクラッシュします。

これを修正する必要があるのは、アプリケーションの単一のインスタンスが必要であり、電子メールの添付ファイル名も取得する必要があるためです。ここで何か不足している場合はお知らせください。

ここでの私の質問は、onCreate のフローで機能し、onNewIntent の場合は機能しない理由です。

注: 1) 2.x 携帯電話で正常に動作します。 2) シングルトップ起動モードで正常に動作します。3) Gmail アプリの更新。ここにリンク:

0 投票する
1 に答える
17995 参照

android - アプリケーションのインスタンスを1つだけ有効にする方法

Androidで必要なアプリのインスタンスは1つだけです。インストール後にアプリを実行してホーム画面に移動し、アプリを再度実行すると(アプリのアイコンをクリック)、2番目のインスタンスが開きます。2番目のインスタンスを実行しないように、すでに実行中の最初のインスタンスを開く必要があります。これを解決する方法がわかりません。

0 投票する
1 に答える
753 参照

android - メインアクティビティで「singleInstance」を使用する必要があり、別のアクティビティを一番上に持ってくる必要もあります

アプリのインスタンスは 1 つしか必要ないためandroid:launchMode="singleInstance"、マニフェストのメイン アクティビティ セクションで使用しますが、これにより、2 番目のアクティビティが表示されているときにホーム ボタンをクリックしてアプリを再度起動すると、メイン アクティビティが表示されますが、表示する必要があります。 2 番目のアクティビティ (標準的な動作が必要です)。アクティビティのマニフェストで使用すると問題が発生するsingleInstanceため、このアクティビティは常に一番上にあります。さまざまなフラグを使用して 2 番目のアクティビティを開始しようとしましたが、うまくいきません。(android:launchMode="singleTask"あまりにも動作しません)。

0 投票する
5 に答える
4862 参照

android - CountdownTimerが実行されているかどうかを検出します

カウントダウンタイマーを作成しましたが、ブール値がtrueの場合に開始されます。タイマーが実行されているかどうかを検出すると、さらに良い結果が得られます。それを行う方法はありますか?

次のcountdowntimerを使用して次のクラスを作成しました。

0 投票する
3 に答える
3756 参照

java - JInternalFrame のインスタンスを 1 つだけ許可する

マウス クリックのイベントで JDesktopPane に追加される複数のJInternalFramesを持つ Swing アプリケーションを作成しました。同じ内部フレームのインスタンスを1 つだけDesktopPane に表示したい。ユーザーがフレームを開いたときに、同じフレームが 2 回表示されるのは望ましくありません。フレームが既に開いている場合は、エラー メッセージが表示されます。

どうもありがとう :)

0 投票する
2 に答える
1548 参照

c# - アプリケーションを複数回開かないようにするにはどうすればよいですか?

重複の可能性:
シングル インスタンス アプリケーションを作成する正しい方法は何ですか?

exe ファイルを何度もクリックした後、アプリケーションが 1 回だけ開くように定義するにはどうすればよいですか?

0 投票する
2 に答える
1685 参照

c# - シングルトンファクトリーの代替

制御できないクラスライブラリのラッパーを作成しています。Targetこのライブラリには、 1回だけインスタンス化されることを確認したいクラス(これを呼びましょう)がありますが、それ自体はシングルトンではありません。私は次のようにSingleton-Factoryパターンを使用することを考えました:

その後、次のことができます。

次に、ファクトリを次のように完全に静的にすることで、これを単純化することを考えました。

ターゲットインスタンスへのアクセスは次のようになります。

StaticFactoryこれはスレッドセーフであり、ターゲットクラスの単一インスタンスへのグローバルアクセスを提供すると確信しています。私が考えていなかったこれに何か問題がありますか?

0 投票する
1 に答える
923 参照

c# - 2 番目のインスタンスを開始しようとしたときの CantStartSingleInstanceException

here で説明されているアプローチを使用して、単一インスタンス アプリケーションを構築しようとしています。

このソリューションを試した理由は、アプリを起動する 2 回目の試行から最初のインスタンスにコマンドラインを渡す必要があり、これが最も簡単な方法だと思われたからです。

サポートする必要がある OS フレーバー:

  • Windows XP SP3
  • Windows 7 32 ビット
  • Windows 7 64 ビット

3つのOSバージョンすべてで動作していますが、Windows 7 32Bitを搭載したマシンが1つあり、これが CantStartSingleInstanceException でクラッシュします

コードは次のとおりです。

SingleInstanceController.cs:

Program.cs:

テスト目的のため、このフォームは、コマンド ライン引数を表示するリスト ボックスを含む単純なフォームです。

これがその1台のマシンで機能しない理由はありますか? 私はこれを2日間いじっていますが、理解できません...