AutoSS
ダウンロード | AutoSS_123.zip (2011/5/13 更新) |
2010/9/18 1.20→1.21
@NTPサーバーへのアクセス方法の変更
A自動起動時プログラムの登録方法の変更
2011/2/12 1.21→1.22
@「起動終了操作」画面の「再読込」ボタンでNTPサーバーへの時刻問い合わせを行うようにしました。
Aメモリ上に以前の問い合わせ時刻が残存しているバグを修正しました。
2011/5/13 1.22→1.23
このプログラム自体がPCをシャットダウンするため、「End」処理を行わず終了してしまいます。このため、例えばXPだと「C:\Documents
and Settings\(ユーザー名)\Local
Settings\Temp」に〜.tmpのようなファイルが残ってしまいます。アイコンをリソースファイルとしてこのようなファイル自体を作成しないようにしました。
その他は変更しておりません。
このプログラムについて
1. 概要
PCの起動、シャットダウンを自動化します。PCに全く触ることはありません。マジックパケットの送信など不要です。単独で自律的に動作します。
一日中PCの電源を入れっぱなしにする必要はありません。必要な時刻に必要な時間だけ起動します。
2. このプログラムが具体的にできること
(1) パソコンの起動とシャットダウンを1日8回まで、指定した時刻に行うことができます。
(2) 起動、シャットダウンの指定時刻は、各曜日、祝日、不在時の9種類を登録できます。
(3) 他のプログラムを指定した時刻に起動することができます。
(4) 起動時に他のプログラムを起動することができます。
3. 使用するための条件
(1) BIOSの設定により1日1回指定時刻に起動できることが必要です。
(2) VB6で作成していますので、VB6のランタイムが必要な場合があります。さらにWinsockを使用していますので、MSWINSCK.OCXが必要です。
(3) シャットダウン後、PCの内部時計は正常な時刻を保持していません。この点に差しさわりがある場合は使用できません。
(4) 電源ボタンを押してから完全に立ち上がるまで2分以上かかる骨董的価値の高いPCは使用できません。
(5) システムと疎遠なところにいる個人が細々と作りましたのでテスト環境にも乏しくWindowsXP上でしか試していません。従って ご自身の責任において使用する覚悟が必要です。
ご使用になったことで何らかの支障が発生したとしても、同情させていただくことはあるかもしれませんが、一切の責任は持ちません。
(6) 個人の方が対象のフリーウェアです。再配布はご自由です。
(7) 法人でのご使用はご遠慮ください。ご家庭のPCでのご使用はご自由ですが、ご勤務先のPCに持込むことは絶対におやめください。ログオン手続きがあるはずで役に立ちません。
また、システム時計を触りますのでシステム管理者の方にご迷惑がかかります。もし、使用できるようなら、となりの女子社員はあなたが日中どんなサイトを見ていたか知って
いることになります。
(8) プログラムに関する著作権は作者CERUが保持するということにしておきます。
4 起動までの手順
(1) BIOSを設定します。毎日午前0時に起動するよう設定しておきます。
(2) AutoSS設定.exeで起動時刻等を設定します。
(3) AutoSS.exeのショートカットをスタートアップフォルダに置きます。
5 動作の仕組み
PCがシャットダウンする直前に次の起動時刻までの時間を算出します。午前0時からその時間を差し引いた時刻に内部時計を変更することで起動時刻になったら立ち上がります。
起動時の内部時計はいつも午前0時ですから、起動後すぐに正常な時刻に修正します。
6 プログラムについて
(1) 「AutoSS.exe」 が本体です。スタートアップにショートカットを置き、起動時に立ち上がるようにしてください。常駐します。
(2) 「AutoSS設定.exe」 でいろいろな設定をします。この設定から始めてください。
(3) 「AutoSS設定.ini 」に設定内容を書き込んでいます。レジストリは使っていません。
(4) アンインストールはフォルダの中のファイルをすべて削除してください。
(5) がまんならない不具合がありましたら恐縮ですが、myttbzn@yahoo.co.jp までご連絡ください。
使用方法 1 (BIOSおよびAutoSS設定.exe)
1. 事前の準備
(1) BIOSの設定 (PCによって違いますので読み替えてください)
1日1回午前0時に自動的にPCが起動するようにしてください。これは使用の前提条件です。
@ PCの電源スイッチを入れたら、F1、F2、DELなどを押してBIOS画面を立ち上げてください。
A Power Management Setup に移動してください。
B RTC Alarm Date を 「Every Day」に、Time Alarm を 「00:00:00」に設定してください。
これでPCは毎日午前0時に起動することになります。この設定ができないPCでは使用できませんのでご了承ください。
BIOSの設定は以上です。設定をPCに記憶させてください。
お願い | BIOSで1日1回定時起動が設定できないPCはこのプログラムを使用することはできません。 他の方法をお考えになる、設定のできるPCを持っている人から譲ってもらう、買いなおす、もっと優れたプログラムを探す等を行ってください。 |
(2) MSWINSCK.OCXの入手
@ ネット上でダウンロードすることができます。
A 起動時に時刻合わせのためNTPサーバーに問い合わせをします。このときにWINSOCKを利用しています。
B 今更WINSOCKでもないかもしれませんがご了承ください。いつの日か今時のVBに移行します。(たぶん)
2. データの登録
(1) 起動時刻、シャットダウン時刻の登録
@ AutoSS設定.exeを起動してください。下のような画面が出てきます。
起動・終了時刻の設定欄の上段に起動時刻、下段にシャットダウン時刻を記入します。起動終了時刻以外は何も記入しないでください。
上の例では
9:00 | 起動 | |
11:30 | シャットダウン | |
13:00 | 起動 | |
16:00 | シャットダウン | |
20:00 | 起動 | |
22:00 | シャットダウン |
となります。
下のような書き方でもかまわないのですが、パズルみたいになります。
13:00 | 20:00 | 9:00 | |||||
22:00 | 16:00 | 11:30 |
お願い | 起動時刻と終了時刻の間は24時間以内で設定してください。 |
上の方にある「月曜の予定を金曜までコピーする」というボタンは、月曜から金曜まで同じスケジュールの場合に、月曜分だけ記入し押してください。
基本的にこのプログラムはサラリーマン仕様で作成しています。
午前0時に起動し、2時間後の午前2時に終了する場合には、開始時刻は当日に0:00と記入し、終了時刻は翌日に2:00と記入してください。1日は0:01〜0:00としています。
起動時刻、シャットダウン時刻の記入方法は以上ですが、1日の開始時刻(区切り時刻)については後でもう一回ご説明します。
(2) NTPサーバーの設定
PCが起動した時点では内部時計は午前0時になっていますので、本当の時刻に修正しなければなりません。
時刻を問い合わせるサーバー名を登録してください。サーバーは2つとも必ず設定してください。
サーバー1、サーバー2ともタイムアウト時間は10秒です。
Ver.1.21から前回終了時に設定した次回起動予定時刻とサーバー1およびサーバー2の3つの時刻を比較し、自動起動したのか、手動起動したのか判断するようにしました。
次のように動作します。
@ サーバー1への問い合わせ
起動予定時刻とサーバー1の時刻が一致すれば、そのまま次の処理に進みます。この場合は何も表示されず処理が進んでいきます。
一致しない場合は、サーバー2に問い合わせ、サーバー1とサーバー2の時刻が一致すれば、手動で起動したものとして次の処理に進みます。この場合も何も表示されずに
処理が進みます。自動起動あるいは電源ボタンを手動で押しても通常はこの処理になるはずです。
タイムアウトした場合はサーバー2に問い合わせをした上で再度サーバー1に問い合わせをします。サーバー1から時刻が取得できれば上の処理に戻ります。
再度サーバー1がタイムアウトした場合は、その旨を表示し、プログラムの終了指示がなければ10秒後にサーバー2の時刻を採用します。(このため無人で動いている場合は
サーバー2の時刻で処理が進んでいきます。)
A サーバー2のタイムアウト
サーバー2への問い合わせが行われるのは、サーバー1がタイムアウトした場合、あるいは起動予定時刻とサーバー1の時刻が一致しない場合です。
サーバー1、サーバー2ともタイムアウトした場合は、再度両サーバーに問い合わせを行い、どちらかから時刻を取得できれば、その旨表示し、やはり終了指示がなければ
10秒後に取得できた時刻を採用します。一方、再問い合わせでも両サーバーともタイムアウトとなれば、回線の不調として10秒後にプログラムを終了します。
下の画面の上の方は、サーバーの問い合わせでどちらのサーバーも2回ともタイムアウトになった場合に表示されます。表示後10秒でプログラムは終了します。
下の画面の下の方は、起動予定時刻とサーバー1の時刻が相違するため、サーバー2へ問い合わせたところサーバー2がタイムアウトし、再度トライしたのですが、
やはりタイムアウトした場合に表示される画面です。「プログラムの終了」ボタンを押さないで放置すると10秒後にサーバー1の時刻で処理が進んでいきます。
B その他のエラー
タイムアウトしなかったにもかかわらず、取得した時刻に整合が取れない場合も「原因不明」としてプログラムを終了します。
有り得ないと思いますが、起動予定時刻、サーバー1からの時刻、サーバー2からの時刻がそれぞれ互いに不一致の場合、もう今何時かわからなくなってしまい、さっさと
自分でプログラムを終了します。一応、10秒間だけ「原因不明で終了する」旨表示します。
C エラーログ
一方がタイムアウトした場合、あるいはプログラムが終了する場合、すなわち画面表示が行われる場合には、簡単なエラーログがプログラムと同じフォルダに作成されます。
ただし、両サーバーともタイムアウトした場合は現在時刻を把握できていない状態なので、ログの時刻は正しい時刻ではありません。片方だけのタイムアウトであれば、タイム
アウトしなかったサーバーからの時刻が記載されます。
作者は
インターネットマルチフィード ntp.jst.mfeed.ad.jp
独立行政法人情報通信研究機構 ntp.nict.jp
を登録していますが、今のところテスト以外ではエラーログは作成されていません。サーバーはお好みのところを登録してください。
(3) タスクトレイにアイコンを表示する
人手に触れないPCならいいのですが、ご自身も使用するようなPCの場合はなるべくタスクトレイにアイコンを表示してください。
PC稼動中でも終了時刻や次回起動時刻の変更、平日モードから不在モードへの変更等がタスクトレイアイコンから操作できます。
タスクトレイのアイコンを増やすのが嫌いな方はチェックをはずしてください。チェックをはずすと操作画面を表示できません。
稼動中に非表示、表示の変更はできません。このような場合には、上の画面を表示し、チェックを変更してから、横にある「AutoSS再起動」を押してください。
このボタンはAutoSSが起動していないと押せません。非表示中の稼動確認にもできます。タスクを見る方が簡単ですが。
アイコンを表示するかしないかはAutoSS起動時にしか読み込んでいません。再起動させることで、アイコン表示を変更することができますが、
起動時に実行設定されたプログラムが2重起動防止の処理をしていない場合等ご注意ください。
お願い | 使うことがほとんどないのに、ただ起動しているのを示すだけのようなタスクトレイアイコンはいりません。せめて非表示の選択画面をつけてください。ソフトをつくられる方への個人的なお願いです。 (ただし、このプログラムはタスクトレイアイコンを表示した方がよいです。たぶん) |
(4) 起動プログラムの設定
起動時刻、シャットダウン時刻、NTPサーバーを上のように設定しました。
次に起動時に実行するプログラムを設定します。スタートアップフォルダにあるプログラムを設定することになります。
このプログラムは起動時に自動的に立ち上がったのか、人が電源ボタンを押して立ち上がったのか判断しています。自動的に立ち上がった場合
には、自動実行時のプログラムを、人が立ち上げた場合には手動起動時のプログラムを起動時に実行します。
自動実行時起動プログラムは12種類設定が可能です。
プログラム名はご自由に決めてください。
パス欄はフルパスを記入してください。横のボタンはVB6のコモンダイアログです。
遅延時間は次の処理を行うまでのスリープ時間です。秒単位で記入してください。
3項目はすべて記入してください。その中にブランクがあるとエラーになります。
次に記入済みのプログラム名欄をクリックしてください。緑色になります。さらに、そのプログラムを起動させたい曜日の起動時刻をクリックしてください。
その時刻が緑色になります。プログラムを起動したい時刻をすべて緑色にしたら右上の「確定」ボタンを押してください。メモリに記憶します。
Ver1.21からさらに右上の「確定」ボタンを設けました。プログラム名のところをダブルクリックすると設定がクリアされてしまうなど不具合がありましたので、
「確定」ボタンで動作を記入欄から分離しました。
これでそのプログラムは緑色になったPC起動時に立ち上がります。取り消したいときはもう一度時刻をクリックしてください。白くなります。その後「確定」ボタンを
押してください。
上の例では、ABC.exeは月曜13:00、水曜13:00、木曜9:00のPC起動時に立ち上がります。
この設定をしないとスタートアッププログラムは立ち上がりません。
なお、起動時刻の記入欄とプログラム実行の有無を結び付けていますので、時刻の記入欄を変更した場合は必ず緑色のところを確認してください。
手動起動時のプログラムは5つまで設定できます。これは、電源ボタンを手で押してPCを立ち上げたときに毎回実行されます。
自動起動時の設定したプログラムは実行されません。自動起動、手動起動ともに立ち上げたいプログラムは両方に設定してください。
自動、手動とも起動プログラムはEXEファイル、Excelファイルおよび関連付けられたファイルです。
EXEはShellで、ExcelはWorkbooks.Openで、関連付けファイルはWScript.ShellのRunで放り投げているだけです。
Excelファイルは開くだけで放置しますので設定には注意が必要です。
これらの点について後でもう一回ご説明します。
(5) 土日祝日と不在が競合した場合の優先順位
後ほど祝日と不在日を設定します。祝日算定プログラムは含んでおりませんので、祝日を事前に設定しておいてください。
また、外出される日もプログラムの方ではわかりませんので事前に設定します。
このとき、祝日あるいは土日と、不在日の設定が同じ日であった場合にどっちのパターンにしましょうか、という設定です。
平日(月〜金)と不在日が重なった場合には無条件に不在パターンを実行します。
(6) 起動時調整時間
PCが起動する際にはたくさんのプロセスが立ち上がります。また、タスクトレイへのアイコン表示もあります。それらが落ち着くまで待機します。
1以上の整数値を記入してください。8あたりで試してください。起動時エラーが出なければ短くしてください。PCにもよりますが、5あたりが落ち着きどころではと思います。
エラーになるようであれば、もう少し大きな数値をいれて試してみてください。
この際、ついでにスタートアッププログラムを少し整理したり、このプログラムの管理下に置いたり、あるいはレジストリにあるスタートアップもたまに必要性を見直されたら
よろしいのではと思います。余計なおせっかいで誠にすみません。
(7) 1日の開始時刻
ここで、もう一度起動時刻とシャットダウン時刻の書き方に戻ります。
下のほうにある「1日の開始時刻」欄はデフォルトでは 0:00 になっています。通常はこのままでかまいません。
ただし、次のような状態が起こると想定される場合は変更してください。
[例]
月曜日 | 起動 | 23:00 | |
火曜日 | 終了 | 2:00 | |
火曜日 | 起動 |
8:00 | |
火曜日 | 終了 | 9:00 | |
不在 | 起動 |
10:00 | |
不在 | 終了 | 11:00 |
現在は月曜の20時とします。
当初の設定では月曜日の23時に起動し、夜中の2時(火曜日)に終了する予定でした。ところが、火曜日は急に朝から外出しなければならなくなりました。
火曜日を不在登録すると、月曜日の23時に起動したPCは午前2時に終了せず、ずっと電源が入った状態になります。PCが終了するのは、不在時の最初の終了時刻である
午前11時になります。
これを解決するために1日の開始時刻を変更します。ご自身もPCも休んでいる時刻、上の例では午前4時あたりに設定すると、PCは火曜日の午前2時に終了し、
8時間後の午前10時に起動します。
月曜から日曜の予定をそのまま進んでいる場合はこのような問題は起こりません。ところが、不在や祝日の特別な予定が割り込むと、PCは曜日の変更点を午前0時として
いるため、問題が生じます。ご自身もPCも自信を持って寝ている時刻を設定してみてください。
ただし、起動時刻・終了時刻の設定欄の記入には注意が必要です。
下の例で、開始時刻を午前0時に設定したとすれば、表のとおり月曜の午前2時から翌日火曜の午前2時まで起動終了を3回繰り返します。
1日の開始時刻と起動終了時刻 例 (上段 起動 下段 終了)
月曜日 | 2:00 | 5:00 | 23:00 | |
3:00 | 10:00 | |||
火曜日 | ||||
2:00 |
ところが、開始時刻を午前4時に設定した場合は次のようになります。
月曜 | 5:00 | 起動 | ||
10:00 | 終了 | |||
23:00 | 起動 | |||
火曜 | 3:00 | 終了 | ||
水曜 | 2:00 | 終了 |
(火曜の2:00起動(月曜欄の2:00)は起動中なので無視、水曜の2:00終了(火曜欄の2:00)はそれまでに起動していれば終了)
要するに、午前4時以前の登録はすべて翌日のものとなります。
予定を設定する際には、午前4時を過ぎた予定から記入し始めて、翌日午前4時までの予定を記入するようにしてください。
1日は、当日の午前4時を含まず、翌日の午前4時を含みます。もともとPCも休んでいる時刻を開始時刻としていただくわけですから、問題は少ないと思いますが、
万一、火曜日の午前4時に起動する場合は月曜日の起動に記入してください。1日は簡単にいうと、4:01〜翌日4:00となります。
下が上の例を1日の開始時刻午前4時に変更したものです。 (上段 起動 下段 終了)
日曜日 | 2:00 | |||
3:00 | ||||
月曜日 | 5:00 | 23:00 | ||
10:00 | 2:00 |
たいへんわかりにくく申し訳ありません。開始時刻を午前0時とすれば日時どおりの記入が可能ですのでご検討ください。(ただし、ここでも0:00は翌日ではなく当日です。)
開始時刻を変更すると自動的に設定表を変更するという処理も作ったのですが、目いっぱい予定を入れると起動時刻と終了時刻の整合をとって記入するには枠が足りなくなることが
あるという致命的な欠陥があり断念しました。
夜勤の方など夕方起きてこられたら起きた時点の感覚は今日なのか明日なのか、夜中は今日なのか昨日なのか、いろいろ考えました。
結局、だらだらと残業した上に、まっすぐ家に帰ることができず、終電時刻近くにこっそり帰宅し、家族に見つかって気まずい言葉をかわすというごく一般的なサラリーマンを
対象としました。
お願い | 1日は開始設定した時刻から始まり、開始設定した時刻に終わります。起動終了時刻設定欄もそのように記入してください。 |
(8) 予定表
いろいろな設定がすべて終わった後で、作成ボタンを押してみてください。起動時刻、終了時刻、設定プログラムの実行時刻の予定表がExcelで作成されます。
Excelファイルはこのプログラムと同じ場所に作ります。作成後に閲覧ボタンを押せば見ることができます。
作成と同時に簡単なエラーチェックを行っています。起動してから終了せずに起動していたり、終了から次の起動まで24時間以上開いていたりすると、
時刻欄のフォントが赤くなります。該当する記入欄の記載を確認してみてください。確認してもおかしなところがない場合はバグです。
お手数ですが、ご連絡いただきますようお願いいたします。
チェックは月曜から日曜までを通して行なっています。祝日や不在はその日だけでチェックしています。
1日の開始時刻を考慮して予定をソートしていますので、起動終了時刻欄を変更せず、1日の開始時刻だけを変更すると一般的に赤い時刻が増加します。
変わらない方はたいへん規則正しい生活をしている方です。
なお、予定表の分量がどのくらいになるかわかりませんので、Excelの印刷設定については何もしておりません。
ExcelがインストールされていないPCでは当然エラーになります。
以上で1面が終わりです。「次へ」のボタンを押します。
初回はiniへの書込みにずいぶんと時間がかかります。フリーズしたみたいになりますが、しばらくお待ちください。2回目以降は変更点のみ書き換えますので
ずっと短い時間になります。
(9) プログラムの時刻指定
PCが起動している時刻に実行するプログラムを設定します。
はじめに下の欄に実行する予定のプログラムをすべて記入します。20プログラムまで設定できます。
プログラム名は任意、フルパスを記入してください。
次に区分欄のオプションボタンで曜日、祝日、不在を選択し、プログラムを起動する時刻、および下の欄で設定したプログラムの番号を記入してください。
プログラム名が表示されます。プログラムの実行予定は1日につき30個まで設定できます。
設定中のデータは仮データとして蓄積されています。「戻る」「次へ」「設定終了」のいずれかを押した時点で正データとして保存されます。また、これらを押す前に
「キャンセル」を押した場合は表示日のデータだけ設定前のデータに戻ります。
なお、下の方にある「月曜の予定を金曜までコピーする」ボタンは月曜の予定を火曜から金曜まで転記します。
上の方にオプションボタンで選択した区分の起動、シャットダウン時刻が参考までに表示されます。当然ですが、この時刻外で設定されたプログラム
は実行されません。起動時刻終了時刻と同様、1日の開始時刻にはご注意ください。時刻の記入の基準は同じです。
この場合の各プログラムの起動方法も、前に書いたPC起動時のプログラムと同じです。
EXEはShellで、ExcelはWorkbooks.Openで、関連付けファイルはWScript.ShellのRunで投げ出します。
起動するだけですから、PCがシャットダウンする際などエラーが発生しないようにしておいてください。
Shellで起動するEXEファイルですが、いちおう戻り値からのOpenProcess値をメモリ内に保存しています。従って、この値を使ってShellで起動したプログラムを
終了することが可能です。下段のプログラム設定欄に起動するときのプログラム名と全く同じプログラム名を追加し、パス欄に「SED」とだけ記入してください。
小文字でもかまいません。これを上段で時刻設定すれば当該プログラムに終了を送信します。もちろんAutoSSが以前起動したものでなければなりません。
なお、終了にはTerminateProcessを使い、終了を強制しております。万一この設定を行う場合は事前に充分ご確認ください。ただし、使うことはほとんどないと思っています。
もともとここに登録されるプログラムは起動してやれば自ら作業を行い自ら終了するものを想定しており、AutoSSはWindowsのタスクと同じく単にタイマーの役割で
あるとしています。AutoSSがなにもできない分、自己完結できる賢いプログラムが本来の設定対象となるべきです。
Excelファイルを起動し、VBAで何らかの作業をさせる場合は、必ずオブジェクトはすべて解放しQUITで閉めてください。CLOSEするだけでは何かが残ります。
作者が普段やっていることは、ExcelVBAがダウンロードしてきたデータをそのブックのVBAが使用するほかに、他のブックにもデータを渡して、渡されたブックのVBAが別の計算をし、
そこへ新たなブックが登場し、・・・、みんなが最終的な結果だけをMDBに・・・。もう誰が誰に命令して何をしているのかよくわからなくなることがあります。しかも、あっちこっちでエラー
が発生し・・・。これらを管理するプログラムをまたまたVBAで作り、なんとかしのいでいます。システムに弱い作者は、ExcelのことはExcelに任せることにしています。Excelも苦手です。
よく使用させてもらうのがUWSC(うみうみ様)です。簡単なスクリプトで自由な展開が可能です。すばらしいソフトウェアだと思います。
以上で2面が終わりです。次へのボタンを押します。ここでも初回は書込みに時間がかかります。
(10) 祝日、不在の設定
最後の画面です。事前にわかっている不在日と祝日を設定します。テキストボックスにyyyy/m/dで年月日を記入し、追加ボタンを押してください。
リストボックスに追加されます。削除する場合はリストボックスから選択し、削除ボタンを押してください。
過去の日付は追加できません。また、設定済のうち過去の日付のものは表示されません。過去の日付分はこの画面終了時一括してiniファイルから削除しています。
第1面で土日祝日と不在の優先順位を設定しました。重複設定の場合の優先順位は次のようになります。
土日祝日優先 | 土日 | > 祝日 | > 不在 | > 平日 | |
不在優先 | 不在 | > 土日 | > 祝日 | > 平日 |
すなわち、いずれの場合も土日は祝日に優先します。(振替休日となるため実際には日曜と祝日は重なりません。土曜も振替制にしてほしいです。)
平日の予定で進行している最中に急な外出等で不在に変更したい場合には、ここで当日を不在設定し、タスクトレイアイコンからその変更を確認してもよいですが、
タスクトレイアイコンから表示される画面のボタンをクリックするだけで変更できるようにしてあります。次の項目の中でご説明します。
以上で設定する項目は終了です。゜設定終了」ボタンあるいは「戻る」ボタンを押してください。最後に予定表を作成してみてください。お疲れ様でした。
使用方法 2 (AutoSS.exe)
(1) 使用方法
AutoSS.exeのショートカットをスタートアップフォルダに置いてください。スタートアップフォルダにあるその他のプログラムは、可能ならAutoSS設定.exe
の第1画面右側の起動プログラムに登録し直してください。
起動後、データ読取後にNTPサーバーへ時刻の問合わせを行いますが、その前に多少の間が必要なようで、先ほど待機時間を設定してもらいました。
このため、起動後に実行登録されたプログラムはこの待機時間分実行が遅れます。
(2) タスクトレイアイコン
アイコンを右クリックすると次のような項目が出てきます。
@ 起動終了操作
A 実行プログラム表示
B 設定
C 手動シャットダウン
D プログラムの終了
タスクトレイアイコンを右クリックして表示されるA〜Dは@起動終了操作の該当部分と同じです。
@ 起動終了操作
次の画面が表示されます。画面が表示される際には設定データの読込が毎回行われます。
終了時刻、次回起動時刻
現在時刻から見て直近の時刻を表示します。予定された起動の時刻内 ( 起動時刻 < 現在 < 終了時刻 ) であれば
終了時刻 < 次回起動時刻となります。上の例は予定外の時間に手動で起動した場合です。起動時刻の方が現在時刻に近いため、
終了時刻 > 次回起動時刻となっています。
本日区分
曜日、祝日、不在の区分を表示します。
終了時刻の変更
予定内で稼動している場合、終了時刻を1回限りで変更できます。テキストボックスにh:mmで記入し、変更ボタンを押してください。
ただし、この画面を再度立ち上げたり、データ再読込ボタンを押したりすると元の設定データに戻ってしまいます。メモリ上に保持している
終了時刻を変更しているだけだからです。このボタンを使ったら速やかに閉じるボタンを押し、静かにシャットダウンを待ってください。
次回起動時刻の変更
次回起動時刻を1回限りで変更できます。テキストボックスにh:mmで記入し、変更ボタンを押してください。
仕組みは上の「終了時刻の変更」と同じです。このボタンを使ったら再度この画面を立ち上げたりせず、手動シャットダウンしてください。
データの再読込をさせるとせっかく変更したのが、元に戻ってしまいます。
再読込
設定データを再読込します。この画面を立ち上げるときにすでに再読込が行われていますので、あまり必要のないボタンです。
この画面を立ち上げたまま、AutoSS設定.exeで設定を変更した場合には押してください。変更内容が反映されます。
また、タイマーが停止状態の場合、終了時刻や開始時刻を変更したが元に戻したい場合など、通常ベースに復帰したいときには押して
ください。特にタイマー停止状態からの離脱はこのボタンしか対応していません。
また、NTPサーバーへの時刻問い合わせも同時に行います。
通常⇔不在
ボタンを押すたびに通常ベースと不在を交互に変更します。iniデータ自体も書き換えます。急な外出などにはこのボタンを押しさえすれ
ば、その時点から不在モードに入ります。
このボタンを押して不在モードにし、手動シャットダウンを押せば、後は不在時に登録された仕事を留守中にこなしてくれます。
タイマーの停止
このプログラムの稼動を停止します。終了時刻および次回起動時刻の欄に「停止中」と表示されます。停止中には何もしません。
復帰する場合は再読込ボタンを押してください。(画面を再度立ち上げるだけでは変更できません。)
実行プログラムの表示
当日実行予定のプログラムを表示します。起動後すぐに実行するスタートアッププログラムは表示しません。Auto設定.exeの第2画面で
設定したプログラムが表示されます。普通のリストボックスです。以前はフレキシブルグリッドで、起動、終了など種類により色を変えて表示したりして、
それはもうたいそう美しいものでありました。。ただ、またOCXがうんぬんらしいのでリストボックスにしました。サブクラス化などよくわかりません。
このため、たいへんあっさりしたものになってしまいました。フレキシブルグリッドによる作者の力作をご覧いただけなくてたいへん残念です。
設定
AutoSS設定.exeを開きます。このとき、AutoSS設定.exeで設定内容を変更した場合には、タスクトレイアイコンから「起動終了操作」を
もう一度開いてください。開くことによって変更内容が反映されます。
手動シャットダウン
自動的に予定時刻にシャットダウンする場合は次回の起動時刻等を読み込み内部時計を変更してからシャットダウンします。
一方、手動で任意の時刻にシャットダウンする場合には、このボタンを押してください。これを押すことで次回の起動時刻を把握します。
次回起動時刻を変更した場合もこのボタンを押してシャットダウンしないと反映されません。
Windowsのスタートボタンからシャットダウンすると、恐らく夜中の0時に突然PCが起動することになります。
プログラムの終了
AutoSS.exeを終了します。
閉じる
この画面を閉じます。
お願い | 手動でシャットダウンする場合は必ず「手動シャットダウン」を選択してください。そうしないと夜中急にPCが起動し、びっくりします。 |
(3) シャットダウン画面
シャットダウンの予定時刻になると次の画面が表示されます。(常に前面表示の設定をしています)
10秒間表示されます。10秒経過したらシャットダウンします。
シャットダウンを中止する場合は中止ボタンを押してください。
次のシャットダウン時刻が設定されます。
ちょっと目立つよう色をつけてみました。自動的にシャットダウンする場合に表示されるものなので、誰もみていない可能性の方が強いのですが、
PCで作業iに夢中になっているときであっても、予定されたシャットダウン時刻になると表示されますので、そのときは目立った方がよいと思いました。
なお、「手動シャットダウン」するときは上の画面は表示されません。
プログラムのまずさを設定の複雑さでカバーいたしました。その複雑な設定を幼稚な説明で一層複雑にいたしました。
説明は以上です。最後までご覧いただきありがとうございました。
更新履歴
2009年7月ごろ | AutoSS_0.5 | Windowsのタスクの設定予定があふれかえり、わけがわからなくなりつつあったので、タスクと同じようなものを 作る。シャットダウンも行う。 |
2009年11月ごろ | AutoSS_1.0 | 内部時計を狂わしてまで起動時刻を任意設定できるようにする。 |
2010年5月ごろ | AutoSS_1.1 | 使い勝手に不満が出てきたので全面的に作り直す。 |
2010年7月ごろ | AutoSS_1.2 | 見た目に少しこだわってみるが、あまりかわり映えしない。1日の開始時刻欄を追加する。追加しなければよかったと思う。 |
2010年9月10日 | AutoSS_1.20 | VECTORで公開。 |
2010年9月18日 | AutoSS_1.21 | 手動での起動時には2つのNTPサーバーに問い合わせることにした。 自動起動時のプログラム設定方法を変更し、「確定」ボタンを追加した。 |
2011年2月12日 | AutoSS_1.22 | 再読込ボタンでの時刻問い合わせを追加。 問い合わせ時刻が残存する不具合修正。 |
2011年5月13日 | AutoSS_1.23 | アイコンをリソースファイルにした。 |
開発環境
Visual Basic 6.0 Professional Edition WindowsXP Professional Edition
ご覧いただきありがとうございました。しかもこんな最後の最後まで。
ずいぶん昔、まだWindowsが3.1か95のころ、モーターとカムを時計仕掛けにしてPCの電源ボタンを押すことを考えましたが、結局やめました。
やめた理由は製作面ではなく、無人でPCを起動して何をやらせたいのか、わからなかったからです。
近い将来、24時間稼動するサーバーを設置していろいろな管理を行う家庭が一般的になるかもしれません。ただ、それはサーバーが電化製品と同列であるということであり、
知的な生産過程を少しも含んでいるものではありません。サーバーを設置してもやはり何をさせたいのかが問われています。
とりあえず、日中お仕事で外出している間、業務に関係のありそうなデータをダウンロードしデータベースに溜め込んでみてはいかがでしょうか。会社などで接触できるデータと
同じようなものでもよいですし、関係が薄そうなものでもかまわないと思います。PCが勝手に溜め込んでいくので手間はかかりません。もちろん、ダウンロードプログラムはご自身
で作成する必要があります。
しばらくそのまま放置して、データが溜まってくるとそれを分析したくなります。何らかの結論が出ればよいですし、出なくてもかまいません。他のデータも新たに収集したくなるかも
しれません。他にどのようなデータがあるのか調べること自体、知的な生産活動ではないでしょうか。分析していくうちに周辺の知識も増えていくでしょう。
データを常に見ていると説得力も上がります。データは過去のものであってそこから将来を予測するのは個人の力量かと思いますが、データを見ていない人は力量以前の問題
となります。
データを足で収集するのは人間であり、それは判断材料として圧倒的な価値を持ちます。その間にPCは人間の判断を補足する数値データを集めます。両者のデータが一致する
方向を示せば恐らく正しい判断になるのでしょう。
システム時計を狂わしてまで自動起動させるこの小さな邪悪プログラムは、上記のようなことを想定して作りました。ですが結局、テレビの録画やラジオの録音にしか使っていただ
けないことになっても仕方ないとは思っています。最後までありがとうございました。
以 上