◆◇◆ Tips! ◆◇◆

タイマー駆動アプリの作り方

[Japanese Pocket C User's Page]-[Tips!]


BBS上にて、「AP-TIMER」の作者であるryoさんと、「かめタイマー」の作者であるイルカさんの間で、
PocketCを使ったタイマー起動アプリケーションの作り方について議論が交わされていましたので、
その内容をかいつまんでまとめてみました。

 

1.runapptimeを使う上での注意

タイマー起動をするためには、runapptimeという関数を使います。
マニュアル等には記載されていない、利用する上で気をつけるべきことは
次の通りです。

1)設定の上での注意事項

同じプログラムパスを2回以上、runapptime()で指定すると、後の方の命令しか実行されない

例)
runapptime([exeファイルパス], M1, D1, h1, m1);
runapptime([exeファイルパス], M2, D2, h2, m2);

この場合、実行されるのは後者のみ実行されることになります。

2)設定の取り消し

設定を取り消すためには、

runapptime([exeファイルパス], 0, 0, 0, 0);

とすればOK

3)exe以外の形式のプログラムを走らせるには?

runapptimeでは、exe形式のプログラムしか実行することができません。
.lnkや、appファイルを実行させるためには、runapptimeではなく、
関数execを使う必要があります。

 

2.サスペンドの制御

タイマー起動をさせるということは、サスペンドの制御を行う必要があります。

1)強制サスペンド

次のコマンドで、強制的にサスペンドをさせることが可能。
keyevent(0xDF, 0, 0, 0);

2)サスペンド状態からの復旧

サスペンド状態から復旧するためには、clocknot.exeというプログラムを呼び出せばいいようです。
つまり、

runapptime("\\Windows\\clocknot.exe", ", M1, D1, h1, m1)

ということ。

3.で、これらを組み合わせて・・・

これらのことから、

1)定期的にapptime関数で、clocknot.exeを呼び出す。
2)タイマーイベントでexec関数を呼び出す。

を組み合わせれば、タイマー起動アプリケーションが出来そうですね。


[Japanese Pocket C User's Page]-[Tips!]