始めて投稿させていただきます、なぎさです。
さっそくですが、
仕事で使用するToDoリストを自分で作ろうと思ったのですが、
予定時間が近づいたら予定を通知する方法がどうしてもわかりません。
タイマー等で簡単に作ってしまうと、他のアプリケーションの動作の邪魔をしてしまいます。
(常駐させるつもりなので…)
なるべく低リソース低負荷単純操作を目標にしています。
特に急いでいるわけではないですが、
何か方法がある方は教えていただけないでしょうか?
よろしくお願いします。
環境は、
OS:Windows2000
Delphi6.0Personal
を使用しています。
常駐していれば少なからず他に影響します。
Timerを使うか、Threadを優先度を少し下げて使うくらいしか思いつきません。
影響が大きそうな、別のところをなくす方がいいかもしれませんよ。
# たとえば、複数ボタンを1つのパネルにしてみるとか
にしのさん、お返事ありがとうございます。
やはり、そのような都合のいい方法はないんですね。
考えているとどうしても、
Outlookなどのスケジュール管理ソフトはどのような処理をしてるのだろう。
と、考えてしまうんですよね。
実際、世間にあふれているスケジュール管理ソフトはどのように実現しているんでしょうか?
すいません。
解決にチェックをしちゃいました。
戻せませんよね…
MSが作ったものは、隠しAPIなど使っているかもしれませんね。
スケジュール管理ソフトは、何かしらのデーモンを常駐させてそれが監視するというのが一般的だと思います。
# Linuxではcronなんかがあります
あとは、OS標準のタスクスケジューラに登録させて、管理はOS任せにするなどはどうでしょう。
連携が難しいとは思いますが。
おはようございます。
解決表示になっているにもかかわらず、お返事、ありがとうございます。
隠しAPIと言われるものがあるのですか…。
一度調べてみます。
タスクスケジューラに登録するのは私も考えましたが、
それって、結局、自分が管理するかOSが管理するかの違いで、
変わらないような気がしたのですが…。
一度、何通りかのものを作成してみて、
動作テストをしてみるのも面白そうですね。
隠しAPIとは、MSが用意したDLLにある、名前のない外部関数です。
名前も引数の情報も見つからないと思いますよ。
タスクに関する隠しAPIが存在するかどうかもわかりません。
# MSに問い合わせても、きっと教えてもらえないでしょう
OSのタスクスケジューラが管理するのと、自分が管理するのが同じであるなら、やはりスレッドかタイマーで管理すべきです。
OSのタスクスケジューラは、1つのプロセスとして常駐していますから。
もちろん、タスクスケジューラのプロセスを強制終了させれば、タスクに登録してあったものは時間通りに起動されません。
にしのさん、いろいろと情報ありがとうございます。
確かにそのとおりですね。
なにかと方法を考える前に一度、プロトタイプを作成してみます。
結果報告とともに、
その時に発生した問題をまたこの掲示板で相談させてください。
それでは今度こそ本当に解決です。