掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
あるソフト起動時に処理するには? (ID:13925)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
簡単に考えると、このような形はいかがでしょうか。 メモ帳を立ち上げると、一度だけ電卓も立ち上がる。 // uses節に ShellAPI を追加 変数 hNote : HWND; {ハンドル} CalcFlg : Boolean; {一度だけ電卓を立ち上げるため} const // 電卓(私の環境の場合) FN = 'C:\WINNT\system32\Calc.exe'; //----------------------------------------------- // 起動時の処理 //----------------------------------------------- procedure TForm1.FormCreate(Sender: TObject); begin {メモ帳ハンドルを取得} hNote := FindWindow('Notepad',nil); // すでに起動していたら if hNote <> 0 then begin ShellExecute(Handle,'open',PChar(FN),nil,nil,SW_SHOW); CalcFlg := true; end // 起動していなかったら else CalcFlg := False; end; // 起動時・途中終了時のチェック procedure TForm1.Timer_CheckTimer(Sender: TObject); begin {メモ帳のハンドルを取得} hNote := FindWindow('Notepad',nil); if hNote <> 0 then begin if CalcFlg = False then begin ShellExecute(Handle,'open',PChar(FN),nil,nil,SW_SHOW); CalcFlg := True; end; end else CalcFlg := False; end; 起動中かどうかで、タイマーのインターバルを変えたり、 このプログラムを非表示にしたり、二重起動不可にしても良いかも しれません。 こういう感じでしょうか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.