2007年08月09日

Windows用フリーウェア「HookDate」を公開します

register to: はてなブックマークに登録 | del.icio.usに登録 | この記事をクリップ!

■ はじめに

プログラム開発にテストはつきもので、テストの際に特定の年月日でプログラムの動作を確認しなければならないことがよくあります。その場合に手っ取り早いのは「コンピュータのシステム日付を変更する」という方法ですが、Windows ではバックグラウンドで多くのプログラムが動いており、システムへの影響を予測できないためできればその方法は避けたいものです。
そこで、API フックを利用して、特定のプログラムに対してシステム日付とは異なる日付を伝えるツール「HookDate」を作ってみました。
せっかくなのでこのブログの読者の方にフリーウェアとして公開することにします。

■ HookDate の使い方

HookDate をダウンロードして PC へのインストールが終わったら、まず Windows の「メモ帳」を普通に起動してみて下さい。

初期状態の HookDate には、サンプルとしてメモ帳(notepad.exe)に「2004/01/10」という日付を伝える設定が登録されています。
メモ帳には、編集時に [F5] キーを押すと現在の日付時刻がテキストに挿入されるというちょっと便利な機能がありますので、これを使えば簡単に動作を確認できます。図の要領で日付が出力されれば HookDate は正しく動作しています。
メモ帳に日付を挿入

HookDate には複数のプログラムを登録することができます。登録には「HookDate マネージャ」を使用します。 スタートメニューの [プログラム]-[KLab]-[HookDate] から「HookDateマネージャ」を実行して下さい。
HookDateマネージャ初期状態

ご覧のようにメモ帳が初期登録されています。新しいプログラムを登録する時は「新規登録」をダブルクリックして下さい。 プログラムのパス名と通知する日付を設定するパネルが開きます。
例として自作のテストプログラムを一件登録してみることにします。
HookDateマネージャへのプログラム登録

DateTest.exe というプログラムに 2038年1月18日という日付を設定してみました。[OK] ボタンを押すと一覧へ戻ります。
HookDateマネージャに新しいプログラム

タイトルバーに表示されている通り、この時点ではまだ新しい設定は有効になっていません。「保存」を行うことでシステムへ反映されますが、その前に筆者の作った 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
Windows 95/98/Me および Windows NT では動作しません。

■ ダウンロード (バージョン 1.0.1)

ダウンロードの前に下記の使用許諾契約書を必ず最後までお読み下さい。
ダウンロードを開始された場合には本使用許諾契約書に同意されたものとさせて頂きます。




klab_gijutsu2 at 14:03 │Comments(0)TrackBack(4)win 
register to: はてなブックマークに登録 | del.icio.usに登録 | この記事をクリップ!

トラックバック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 ではバックグラウンドで多くのプログラムが

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
最新記事
Archives
このブログについて
DSASとは、KLab が構築し運用しているコンテンツサービス用のLinuxベースのインフラです。現在3ヶ所のデータセンタにて構築し、運用していますが、我々はDSASをより使いやすく、より安全に、そしてより省力で運用できることを目指して、日々改良に勤しんでいます。
このブログでは、そんな DSAS で使っている技術の紹介や、実験してみた結果の報告、トラブルに巻き込まれた時の経験談など、広く深く、色々な話題を織りまぜて紹介していきたいと思います。

また、わたしたちが開発したソフトウエアやノウハウ、実験的なサービスを公開している、

もあわせてご覧いただければと思います。(DSASブログのエントリをシリーズ別に整理した「DSASブログまとめ」もあります)
KLabについて
KLab株式会社は、携帯電話の基盤技術から各種ソリューション、コンテンツ企画など多くのサービスを提供している会社です。
Blog内検索
QRコード
QRコード
最新コメント
最新トラックバック