お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"時間になったら起動する常駐プログラム"

この発言に対し以下のコメントが寄せられています
#00497 瑠瓏 さん RE:時間になったら起動する常駐プログラム

コンソールプログラムなので、そのまま、コンパイルするだけです。 約40kBくらいの小さなプログラムです。 tsr.pas(tsr.dpr)として、D2/D3でコンパイルしてください。 tsr <cr> で常駐 tsr quit <cr> で常駐解除 program Tsr; uses Windows,SysUtils; {$APPTYPE CONSOLE} const brk ='TSR_PROGRAM_BREAK';{} doing='TSR_PROGRAM_DOING';{} app ='APPLICATION_NAME' ;{} Stime='12:00';{再起動する時間} Qtime='12:30';{再起動をしない時間帯} procedure Run; var a:TAtom; h,m,s,d:word; n:string; function BreakCheck:boolean; begin Result:=GlobalFindAtom(brk)<>0 end; begin if GlobalFindAtom(doing)<>0 then Writeln('Error:すでに常駐しています') else begin a:=GlobalAddAtom(doing); repeat Sleep(3000); {3秒に1回チェックする} DecodeTime(now,h,m,s,d); n:=Format('%.2d:%.2d',[h,m]); until BreakCheck or ((n>=Stime) and (n<Qtime)); if not BreakCheck then begin // WinExec または CreateProcess で実行 repeat Sleep(3000); {3秒に1回チェックする} DecodeTime(now,h,m,s,d); n:=Format('%.2d:%.2d',[h,m]); until BreakCheck or (n<Stime) or (n>=Qtime) end; GlobalDeleteAtom(a) end end; procedure RunBreak; var a:TAtom; c:integer; begin if GlobalFindAtom(doing)=0 then Writeln('Error:常駐していません') else begin c:=10; a:=GlobalAddAtom(brk); Sleep(5000); {5秒待つ} while (c>0) and (GlobalFindAtom(doing)<>0) do begin Sleep(3000); {3秒待つ(10回なので、計30秒)} dec(c) end; if GlobalFindAtom(doing)<>0 then Writeln('Error:常駐解除できませんでした'); GlobalDeleteAtom(a) end end; begin Writeln('TSR.Exe : 常駐監視サンプル'); Writeln('Copyright 1998, by Le Reaux(PS-Network)'#10#13:79); if UpperCase(Paramstr(1))='BREAK' then RunBreak else Run end. ***ここまで。 APPTYPE COSOLEを外して、Writelnの変わりに、ShowMessageを使うと、DOS窓 も出ないので、スタートアップに入れることも可。             URL=http://member.nifty.ne.jp/lereaux/ 卯月、小満、晩春挿話  FDELPHI ☆ 瑠瓏 <KHB05271@niftyserve.or.jp>  FJBUILDR Fri,4/17/98 12:22 Original document by 瑠瓏 氏 ID:(KHB05271)



ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum