2007年08月09日
Windows用フリーウェア「HookDate」を公開します
■ はじめに
プログラム開発にテストはつきもので、テストの際に特定の年月日でプログラムの動作を確認しなければならないことがよくあります。その場合に手っ取り早いのは「コンピュータのシステム日付を変更する」という方法ですが、Windows ではバックグラウンドで多くのプログラムが動いており、システムへの影響を予測できないためできればその方法は避けたいものです。そこで、API フックを利用して、特定のプログラムに対してシステム日付とは異なる日付を伝えるツール「HookDate」を作ってみました。
せっかくなのでこのブログの読者の方にフリーウェアとして公開することにします。
■ HookDate の使い方
HookDate をダウンロードして PC へのインストールが終わったら、まず Windows の「メモ帳」を普通に起動してみて下さい。初期状態の HookDate には、サンプルとしてメモ帳(notepad.exe)に「2004/01/10」という日付を伝える設定が登録されています。
メモ帳には、編集時に [F5] キーを押すと現在の日付時刻がテキストに挿入されるというちょっと便利な機能がありますので、これを使えば簡単に動作を確認できます。図の要領で日付が出力されれば HookDate は正しく動作しています。
HookDate には複数のプログラムを登録することができます。登録には「HookDate マネージャ」を使用します。 スタートメニューの [プログラム]-[KLab]-[HookDate] から「HookDateマネージャ」を実行して下さい。
ご覧のようにメモ帳が初期登録されています。新しいプログラムを登録する時は「新規登録」をダブルクリックして下さい。 プログラムのパス名と通知する日付を設定するパネルが開きます。
例として自作のテストプログラムを一件登録してみることにします。
DateTest.exe というプログラムに 2038年1月18日という日付を設定してみました。[OK] ボタンを押すと一覧へ戻ります。
タイトルバーに表示されている通り、この時点ではまだ新しい設定は有効になっていません。「保存」を行うことでシステムへ反映されますが、その前に筆者の作った DateTest.exe をちょっと動かしてみましょう。
これは [DATE] ボタンを押すと現在の日付が表示されるという小さなプログラムです。ここではこの記事を書いている「2007/08/08」の日付が表示されています。
# ちなみに、このテストプログラムは Microsoft Visual C++ .NET 2003 でビルドしたもので、C 言語の標準ライブラリ関数である time() と localtime() を呼び出しています
ここで一旦テストプログラムを終了して、HookDate マネージャの [ファイル] メニューから [設定を保存] します。
この状態であらためて DateTest.exe を実行して [DATE] ボタンを押してみます。
ご覧の通り、HookDate マネージャで設定した「2038/01/18」が反映されました。
その他の詳しい使い方については HookDate 本体と一緒にインストールされる README.txt に記載してあります。
■ 動作環境
HookDateは、以下の OS 環境での動作のみを確認しています。- Windows 2000 Professional SP4
- Windows XP Home SP2
- Windows XP Professional SP2
- Windows Vista Ultimate
■ ダウンロード (バージョン 1.0.1)
ダウンロードの前に下記の使用許諾契約書を必ず最後までお読み下さい。ダウンロードを開始された場合には本使用許諾契約書に同意されたものとさせて頂きます。
トラックバックURL
この記事へのトラックバック
1. [メモ]任意の実行モジュールを指定した日付で実行できるツール [ ほげげの戯言 ] 2007年08月09日 17:53
任意の実行モジュールを指定した日付で実行できるツール。 何かと便利そう。。。φ(..)メモメモ プログラム開発にテストはつきもので、テストの際に特定の年月日でプログラムの動作を確認しなければならないことがよくあります。その場合に手っ取り早いのは「コンピュータ
2. 今日の気になった記事 - 2007/08/10 - ヒーリングシアター UMINE ほか [ Desire for wealth ] 2007年08月10日 13:32
タカラトミー、音と連動する「ヒーリングシアター UMINE」−オーディオプレーヤーと接続、楽曲に合わせて投射 暑い夜とかARIAのサントラを聴きながら、ホームスターの星空を見るなんてことをよくやるけど、水面のほうがよさそう! リトラクタブル...
3. links for 2007-08-10 [ 気になる記事の書き出し帳 ] 2007年08月10日 18:28
Add a Digg Widget to your website ...
4. [dev] 時間に関係するテスト [ akimatter ] 2007年08月11日 23:54
プログラム開発にテストはつきもので、テストの際に特定の年月日でプログラムの動作を確認しなければならないことがよくあります。その場合に手っ取り早いのは「コンピュータのシステム日付を変更する」という方法ですが、Windows ではバックグラウンドで多くのプログラムが

