毎日定刻に自動起動するアプリを作成したいのですが、Delphiで実現できますか?
Windows OSの標準機能 タスクスケジューラを使って、起動させるのはダメですか?
igyさん、ありがとうございます。Delphiでは実現不可能ですかね。
質問の回答にならないかもしれませんが、別途定刻に目的のプログラムを起動させるサービスなり常駐アプリ等を予め作成し実行させておくのはいかかでしょうか?
Goroさん、ありがとうございます。
その手がありましたか、気が付きませんでした。その場合のアプリは「Timer」コンポーネントを使うのですか?
サービスアプリの作成サンプル
https://mam-mam.net/delphi/service.html
ただし、サービスはGUI不可なので、入力設定などは別アプリから連携しないとダメですね。
常駐アプリ(タスクトレイ)の作成サンプル
https://mam-mam.net/delphi/vcl_task_tray_icon.html
そうですね、タイマーコンポーネントなどで実行させる必要があります。
レジストリの以下に登録すると、ログオン時に常駐アプリを起動させることができます。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
いずれにせよ、要求仕様と作り方次第で、ちょっと大変かもですが。
ご参考ですが、常駐アプリをレジストリではなく、スタートアップ フォルダにショートカットを作成することによりログオン時に自動起動させる場合は以下URLを参照してください、
https://mam-mam.net/delphi/vcl_create_shortcut.html
WindowsログオンしなくてもOSが起動しただけでサービスは起動します。
用途に応じてサービスを使用するか、常駐アプリにするかになります。
一番簡単なのは、やはり igy様のおっしゃる通り、タスクスケジューラーに登録することです。
ただし、定期的にOSログインのパスワード変更をしなければならないルールがある場合は、タスクスケジューラーに登録してもパスワードが無効になって起動できなくなります。(会社のルールで1か月に一度パスワード変更のルールがあって、私はタスクスケジューラーへの登録は諦めた事があります。)
ご参考まで。
ツイート | ![]() |