私が (C で) 開発しているアプリケーションでは、メイン アプリケーションを実行する前に、最初にローダー アプリを実行する必要があります。このタスクを自動化するために、メインアプリが起動時にローダーアプリを子として実行するようにしました。これはすべて正常に機能しますが、メイン アプリが正しく機能するためには、ユーザーの現在のログイン セッション中にローダー アプリを 1 回だけ実行する必要があり、メイン アプリが実行されるたびにローダー アプリを実行する必要があることは事実です。痛み。だから私が求めているのは、WindowsまたはCの機能を使用してローダーがすでに実行されているかどうかを確認する方法はありますか? 理想的には、このようなものが素晴らしいでしょうが、それが可能かどうかはわかりません:
if(thisapp.exe hasBeenExecuted)
return;
else
spawnl(app_path, app_name, args, NULL);
または、ローダーの実行時にフラグとして機能するダミー ファイルをメイン アプリに作成させるようなものかもしれません。その後の実行では、ファイルが存在するかどうかを確認し、存在しない場合はローダーを実行します。これに関する唯一の問題は、コンピューターの電源を切るとダミー ファイルが消去されるように自動化することです (これを行う方法はありますか?)。
いくつかの明確化: ローダー アプリを編集したり、メイン アプリでその機能を複製したりすることはできません。私はそれを作成していません。
助けてくれてありがとう