zone)は、「地域の標準時を示すUTCとの時間差」でWindowsなどで設定する情報です。APIはよく使われますが、この「タイムゾーンを取得・変更する」ということはめったにありません。APIにはGetTimeZoneInformation関数(現在設定しているタイムゾーンを取得する)SetTimeZoneInformation(タイムゾーンを設定する)がありますが、実はこのAPIを呼ぶだけでは意味がありません。それは、この2つのAPIは引数に同じ構造体を渡す関数なのですが、GetTimeZoneInformation関数で現在のタイムゾーンを取得する。SetTimeZoneInformation関数にGetTimeZoneInformationで取得したタイムゾーンを設定する。するだけでは、1.で取得したタイムゾーンは、現在設定されているタイムゾーンなのでタイムゾーンは変更されません。タイムゾーンを変更するには、変更するための「タイムゾーンの一覧」がないといけないのです。タイムゾーンの一覧はどこ?タイムゾーンの一覧はレジストリにあります。Zonesにあります。10上で動かしてみました。iErr;}実行した結果です。Indexの値が異常です。レジストリエディタでチェックしてみました。レジストリに"Index"という値がありません。XPのPCのほうで同じレジストリを見てみました。"Index"という値がちゃんとあります。OSがバージョンアップした時に、"Index"というレジストリ値は使えなくなっていたようです。UTCからの時差を取り扱っている'Bias'という情報は、単位は’分’なので今回は’時(hour)’で表示するようにコードを下記のように変更しました。iErr;}下記が実行した結果です。うまく、タイムゾーンの一覧を取得して、UTCからの時間差も取得されました。「キーボードの押下検知」とは、プログラムで「キーボードのキーが押された」ということを検出することです。「マウスの状態を取得する」のはWindowsプログラムでは必須となりますが、通常は「マウスでクリックされた」ところから扱うことがほとんどです。プログラムのデバッグなどでは、よく「ログファイル」というファイルに情報を出力してデバッグを行います。