してログ

起動すると特定のポートでサービスを開始するWindowsアプリケーションがあるのだが、これをある時間帯だけ稼働させたい、なんかいい方法は無いだろうか? という質問を受けたので、ちょっと方法を検討してみた。

定期的に作業させたい場合は、タスクスケジューラを使って開始時間と継続時間を設定すればいいのだが、そのアプリケーションは終了時に確認を求めるタイプなので、この方法ではうまく終了してくれない。

そこで思いついた方法は次の2つ

(1)起動しているアプリをリモートコントロールして終了させる

(2)利用ポートを遮断してアプリは起動しっぱなしとする

今回は、(1)の方法でうまく行きそうな目処が立ったので、こちらの方法を紹介します。

1.アプリケーションの起動はタスクスケジューラを普通に使って行う

2.終了については、下記のような WSH を作成してタスクスケジューラに登録する

 Set objShell = WScript.CreateObject("WScript.Shell")
 if objShell.AppActivate("Application Title") then
  WScript.Sleep 100
  objShell.SendKeys "%{F4}"
  WScript.Sleep 100
  objShell.SendKeys "{Y}"
 end if

 * AppActivate の引数は、終了したいアプリケーションのタイトルバーの内容を入れる
 * SendKeys は、アプリケーションに応じて変更(この場合は、Alt+F4 後、確認ダイアログに Y で応えている)

これでOKです。久しぶりに WSH なんて使いましたよ。


▽12/27追記
ログオンした状態で放っておく場合はこの方法でOKだが、そうでない場合はダメっぽい。隠しフラグの TASK_FLAG_INTERACTIVE でなんとかなるかと思ったがこれもダメ。今のところマシン自体を再起動させて道連れ終了させる他にいい手がなさそう。

▽12/27追記
SendKeysによるキーコード送信はログオフ中は無効になるようなので、この方法は使えないようです。別の方法でプロセスを終了させるようにしてみました。ただ、強制終了に近いと思いますので、アプリケーションによっては不具合が出てしまうかもしれません。

 for each Process in GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery ("select * from Win32_Process where Name='application.exe'")
  Process.terminate
 Next

※ application.exe のところは終了させたいアプリケーションに入れまえます

※この記事は「Yahoo!ブログ - HDRp」からの転載です

TvTestからRecTestに替えるときは、予約済の番組に注意しよう。どうも、予約した時点での録画ソフトが起動されるようなので、「RecTestで録画できねー」とか悩むハメに。予約済みのは変更方法わからないので、NHK教育あたりのショート番組で動作を確認してOKなら、一週間我慢するのが得策かと。

※この記事は「Yahoo!ブログ - HDRp」からの転載です

地デジ環境構築しました。QRS-UT100B + RecTest + TvRock です。
なかなか気に入ったので、チューナーのほうは同じものを3台購入して、録画用×2とながら見用とで使っています。USBのバスパワーで動くし、カードリーダーも一体なので使いかってが良いです。早速TVガイドを買ってきて、年末年始の番組を録画予約したので、どこへいつ出かけてもOKです。

NHKを録画するときの注意点は、デフォルトの設定だと、最後の数秒が欠けてしまうことがある(CMが無いから)ので、終了時刻+10秒程度録画するよう設定した方が良い。設定するときは+の数字でOK。また、連続でNHKを録画するときは、チューナーを交互に振り分けないと、開始時の助走秒数分だけ欠けてしまうので要注意です。

あと、最初はTvTestで録画してたのですが、リモートデスクトップでログオンしたりすると、録画に失敗してしまうようなので、RecTestを使用したほうが良いみたいです。

録画後は、TMPGEnc4でdivxに変換しています。録画専用機にインストールしておけば、リモートデスクトップで、流れ作業的にCMカットとエンコードができるので、大変重宝しています。本来なら、mp4に変換したいところですけど、どうも画質がイマイチなので、今のところはdivxにしています。ペガシスさん、早く改善してくださーい。

しかし、前IO-DATAの地デジボード買って痛い目にあって(メーカー返金できたけど)から、ワンセグチューナーで我慢していたけど、QRS-UT100Bは思いのほか良かった。ってか、TvTestのほうが良かったんだと思うけど、やっと満足な地デジ環境が手に入って、大満足です。

※この記事は「Yahoo!ブログ - HDRp」からの転載です