0

プログラム アップデーターとして機能する QProcess がありますが、Windows では実行中の exe ファイルを変更することはできませんが、アップデーター プロセスを作成したプログラムを閉じると、アップデーターも閉じてしまうと思います。Updater プロセスを独立させることは可能ですか?

次に、Windows Vista (およびそれ以降) では、レベルを管理者に昇格させる必要があるというメッセージが返されるため、アップデーターを実行できません。プロセスのアクセス許可を昇格させることは可能ですか?

4

1 に答える 1

1

まず第一に、Linux とは対照的に、Windows プロセスはデフォルトで親から独立しており、親プロセスが閉じた後に閉じられることはありません。

問題を解決する正しい方法は、アップデーターをWindows サービスにすることです。その後、アプリケーションによって起動されず、システム フォルダーなどへの書き込み権限が付与されます (こちらを参照) 。

Qt でサービスをサポートするためのライブラリを次に示します (実際に動作します)。

よりシンプルなソリューションが必要な場合は、ShellExecuteを使用して権限をエスカレートし、アップデーターを起動できます。

于 2012-07-06T21:01:13.263 に答える