3

一度に1つのインスタンスのみをホストOSで実行できるアプリケーションを作成するにはどうすればよいのでしょうか。つまり、シングルトンアプリです。QtでそのようなシングルトンC++アプリを作成する方法を知りたいですか?

4

3 に答える 3

3

QtSingleApplicationからのクラスを使用できますQt Solutions。これは標準のQtクラスではないことに注意してください。ダウンロードする必要があります。QtSingleApplicationコンポーネントはアプリケーションのサポートを提供します

これは、ユーザーごとに1回だけ開始できます。

于 2012-05-16T07:19:17.140 に答える
2

アプリケーションが起動したら、ファイルを作成します。アプリケーションが終了したら、ファイルを削除します。

ファイルが存在する場合は、エラーメッセージを表示して終了します。

于 2012-05-16T07:10:39.610 に答える
-1

これにはQtは必要ありません。これは、グラフィックライブラリです。これを行うには、通常のWINAPIメソッドを使用するだけです。提案されたようなファイルを作成するか(ただし、アプリケーションがクラッシュしたり、停電したりすると奇妙になる可能性があります)、メモリマップトファイルやその他のグローバルオブジェクトを使用して、アプリがまだ実行されているかどうかを確認できます。プロセスリストをチェックして、別のコピーが実行されているかどうかを確認することもできます。もう1つのことは、ウィンドウクラスでFindWindowを実行することです。これは非常に簡単で、うまく機能します。たくさんのオプションがあります。これを検索するだけです。これはよくある質問です。(これにはいくつかのライブラリを使用できますが、Windowsのみを対象としているため、FindWindowを使用します。)

于 2012-05-16T07:13:06.563 に答える