4月 202005
 

 会社のPCのHDDがご臨終間近、「なんか調子が悪いなぁ・・・」と思っていたらHDDが逝きそうだっただけらしい、音を聞くと何度もSpinupする音が聞こえる。HDDの診断にはHDD Healthを使用していたのだが、画面には故障する日が今日と表示されている。こいつはヤバイ、と思い代替えHDDを仕入れ早速データを移動することにした。
 とにかく新しいHDDに全コピー、とHDDをコピーするソフトを用意してコピーし始めるのだが、途中でCRCエラーとなって停止してしまう。どうせCRCエラー部分なんてディスクの修復をしてもデータは戻ってこないのだから無視してスキップしてくれればいいのだが、律儀にもエラーを発見すると停止して終了してくれる。
 気が進まないが先にHDDを修復しようかとWindowsを再度起動してChkdsk /rを予約し、再起動した。なぜ気が進まないかと言うと、こういう壊れ始めたHDDは一旦ガタガタ言い出すと使えば使うほど連鎖反応的にエラー箇所が増えていく。なので出来ればあまり何度もさわらず、コピー時の読み込み1回だけにしておきたい。しかしエラーがあるとコピー出来ないっぽいのでしょうがなくChkdsk /r(全セクタ検査)をスケジュールして再起動した。
 Chkdskが始まる・・・・・が、やっぱ予想したとおり全然進行状況の%が進ま無いので待ちきれなくてリセット。とりあえず別の方法でやろうと思ってChkdskをキャンセルしようとしたが全くキャンセルが出来ない。アレコレ試したけどダメ。Googleで検索したが、どこのページを見てもキャンセルする方法は無いと書いてあるが「んなわきゃねーだろ」と作業し、めでたくChkdskをキャンセル出来たのでここで紹介する。
 Microsoftの訳の分からない機械翻訳技術資料を見ると、レジストリ内でChkdskを実行する指示を出してる文字列は「autocheck autochk * / r\DosDevice\C :」らしいので、これをBart’s PEで起動したWindowsからバイナリエディタで消す。説明はXP環境だが、2000の場合は下で説明しているSystemrootフォルダの「windows」を「winnt」にすればOKのはず。確認していないので確認した方はコメントに書き込んでもらえるとありがたい。
 さて、実際の作業だが、
 1.まず Bart’s PE と バイナリエディタを用意。バイナリエディタはFDやCDRに入れてBart’s PEから利用できる状態にしておく。俺の場合は対象のHDDにBzが既に入っているので、そのままそのHDDから利用した。
 2.Bart’s PEでWindowsを起動。
 3.Bzでレジストリファイルを開く。場所は直したいシステムが入っているHDDの\WINDOWS\system32\config\ の中のsystemというファイル、拡張子は無し。ファイルを書き換えるのでBzの場合は起動してから「編集」>「読み込み時リードオンリ」を選択してチェックを外してからファイルを開くこと。壊すといけないので一応systemのバックアップを取っておこう、systemをCTRL+ドラッグでコピ~systemを作っておけばOK。
 4.対象の文字列を検索する。検索するバイナリは
  61 00 75 00 74 00 6F 00 63 00 68 00 6B
  Bzの右画面で見ると「a.u.t.o.c.h.k」。Bzの場合はツールバーの窓に「#61 00 75 00 74 00 6F 00 63 00 68 00 6B」と入れて隣の双眼鏡ボタンをクリックすれば検索される。
  「a.u.t.o.c.h.k.*」が何回か出てくると思うが、検索を続けていると「a.u.t.o.c.h.k./.r」が見つかると思う。こいつが消す対象だ。
reg1.gif
 5.「a.u.t.o.c.h.k./.r.(省略).c.:」となっていると思うので、これを 「a.u.t.o.c.h.k.*」に変更。左のバイナリ画面で 2F を 2A に変更、そこから 3A までを00で埋める。
reg2.gif
 6.再起動
 これでChkdskをしなくなったはずだ。俺は結局丸ごとコピーはあきらめ、Bart’sPEから wincpy.exeを使ってファイルコピーし、起動パーティションが違うのでboot.ini内の起動パーティション指定を変更、回復コンソールから fixboot c:(必要無いかもしれない)と fixmbr を実行してHDDの交換に成功した。このソフトはCRCエラーを無視してくれるので便利だが、どのファイルが壊れているか判らなくなってしまうがまぁそれどころではないので無視。
 尚、レジストリを直接どころかバイナリエディタで変更する為、この作業によって発生したいかなるトラブルも私は責任を持たないのであしからず。起動したらレジストリエディタで作業した箇所が正常かどうか確認してほしい。

 Posted by at 20:35
3月 162005
 

 トラックバックテストしてみたらうちのトラックバックが機能しておりませんでした(ガッカリ)。
 ということで原因を調べようととりあえずトラックバックURLをブラウザに放り込んでチェック。

http://www.rsi.gr.jp/MT/mt-tb.cgi/276

 404エラーが出る。まぁ確かに/がついてたらmt-tb.cgiフォルダーの中の276というファイルを指定って解釈する事になるもんなぁ・・、この辺の設定IISにあったかなぁ~とIISの設定を眺めていたら発見しました。
desktop.gif 設定部分はここ、管理ツールのIISのサイトのプロパティ、又はMTフォルダのプロパティ内の「ディレクトリ」→「構成」ボタン→「.cgi」を選んで「編集」ボタン。これで開いた画面の「ファイルの存在を確認する」というチェックをはずす。これでOK。IISでActivePerlをインストールしたときにCGIやPLファイルを関連付けした時の事を覚えているだろうか、その時に開いた画面だ。「ファイルの存在を確認する」がサイト全体で無効になるのが嫌な場合はMTフォルダのプロパティで設定してください。MTフォルダ以下だけで適用されるようになります。
 このチェックをはずしたことによって/以降がパラメーターとしてcgiファイルに引き渡されるようになったのでトラックバック受信は正常に成功した。
 ということで今までトラックバックを送信してた方、申し訳ない。と思ったが掲示板にも書き込みないしそんな奴誰もいねーんだろうな。

 Posted by at 17:27
2月 022005
 

 登録していないのに来るメルマガ、本当にうざい。ということで届いたメルマガのアドレスをすべて抜き出してMessageRuleのアドレス欄にぶちこみ、瞬殺することにする。便利なツールも無いし応急処置的にレジストリをいじることになるので、この作業を行った事によるいかなる損害に対してもこちらでは責任を持たない。ウェブマスターの環境はWindowsXP ProとOutlook Express 6.0の組み合わせなので、他の環境の場合は微妙にフォルダの位置とかが違ってて作業出来ない場合があると思う。95・98・meはたぶん無理だろう。
 まず始めにメールから送信元アドレスを抜き出さなくてはいけない。OutlookExpressのローカルフォルダに「メルマガ」というフォルダを掘り、手間はかかるが不要なメルマガを全部そこへドラッグ&ドロップで移動しておく。
 次にメールを抜き出すソフトを用意する。ネットを徘徊すると「AtOeTxt」というソフトを発見、シンプルで具合も良さそうなのでダウンロードしインストール。起動したら、まず変換フォルダとOEフォルダを選ぶ。変換先はデスクトップでOK、OEフォルダはたいがい

C:\Documents and Settings\[ユーザー名]\Local Settings\Application Data\Identities\ [数字が並んでいるフォルダ]\Microsoft\Outlook Express\

 ここだ。LocalSettingsフォルダは隠れフォルダなので、もし表示されなかった場合はマイコンピューターから「ツール」→「フォルダオプション」→「表示」→「すべてのファイルとフォルダを表示する」を選択すること。上のフォルダを選択後、下にdbxファイルの一覧が表示されれば成功だ。一覧から「メルマガ.dbx」を選択しておく。次に「フォルダーごと」のチェックだけ残し、他のチェックは外して「実行」ボタンをクリック。実行中は作業中等の表示が全くでないので「バグったか?」と思うかもしれないがちゃんと作業しているので大人しく待つこと。
 デスクトップに「AtOeTxt」というフォルダが出来てるはずなのだがあるだろうか? この中にメルマガ.txtというファイルが入っているのだが、このファイルの中に「メルマガ」フォルダに入っているメールの内容全部が入っているのでここから送信元アドレスだけを抜き出す。面倒なのでここでは秀丸エディタのマクロを使う、内容は以下の通り。秀丸エディタで新規作成して下のマクロをコピペしてください。キーボードをそのまま取り込んだのでグチャグチャですが機能するのでOKということで。

	beginsel;
searchdown "from   :" , regular, nocasesense;
if( ! result )  beep;
searchdown "<" , regular, nocasesense;
if( ! result )  beep;
right;
delete;
golineend;
backspace;
right;

 貼り付けたら「マクロ1.mac」とでも名前を付けてデスクトップあたりに保存。これでマクロが1個完成。次に秀丸エディタで「メルマガ.txt」を開き、「マクロ」→「キー操作の読込み」の「参照」でさっきのマクロ.macを選択する。あとはカーソルを一番左上に持って行ってからSHIFTを押しながらF2キーを押しっぱなし。高速でよけいな部分が消されていく、はず・・。最後まで終わったらメールアドレス以外の残りかすは手動で消して下さい。自分のメールアドレスが入っている場合もあるのでそれも検索して削除すること。
 次に重複チェック、同じメールアドレスがいっぱいあるはずなのでそれを取り除きます。が、これは難しいな・・・、どうしようか・・・・・。とりあえずExcelを使おう、秀丸にあるデータをすべて範囲指定してコピー、Excelを起動して適当に貼り付け。貼り付けた列を選んで「データ」→「フィルタ」→「フィルタオプションの設定」を開き、「重複するレコードは無視する」をチェックし、OKをクリック。これで重複は無くなったはずなのでこれをコピーして秀丸に貼り付け。
 ふぅ・・・、なんか面倒だな・・・・、まぁここまできたのだから続き。まずMicrosoftとかメールアドレスを変えながら送信してくるアドレスは@以降だけ残して削除。

10_8904_qxxxxxxxxxxxxxxxx@newsletters.microsoft.com

 こんなだったら 

@newsletters.microsoft.com

 こういう風に変更して同じようなのは削除してよろしい。
 次はこいつをレジストリにぶち込めるように加工するマクロを作成する。作成方法は先ほどと同じ、エディタで新規作成して下のマクロを入れて保存するだけ。こいつも手抜きだなぁ・・・って感じの作りだかどうでもいいマクロなのでこれでOK。
※この作業をボタン一発で変換してくれるCGIを公開されている方がいたのでリンク。ありがたい! http://cx20.main.jp/hatena/file/upload/hatena_1114247150_answer.html 上の窓に変換したいルールを入力し、変換するとregファイルに入れる文字列が生成されます。下の適当マクロなんか使わずにここのCGIを利用下さい。利用した方は下のマクロを飛ばし、※から再開してください。(2005/5/15追加)

	while(-1)
{	beginsel;
right;
cut;
endsel;
beginclipboardread;
$a=getclipboard;
if($a=="\n")
{	insert "00,";
}
else
{	insert hex(ascii($a))+",";
}
}

 こいつはマクロ2.macとでも保存して貰うか。さぁ、こいつを実行するのだが、こいつには終了判断を入れてないので延々と続いてしまうのだが、終わったなというところでESCで止めてほしい。「マクロ」→「キー操作の読み込み」でいま作ったファイルを指定したら「OK」で読み込み、SHIFT+F2でスタートだ。0,0,0,0,0,0,0,0,0,となったら停止させ、最後の00,0,0(つまり0が3つ)だけ残してそれ以降は削除してくれ。スタートする前にカーソルを一番左上に置いておくこと。
※CGIを使った方はここから。
 次にレジストリを編集するためにあらかじめメッセージルールを作っておく。OutlookExpressの「ツール」→「メッセージルール」→「メール」を順に選びメッセージルール画面を開く。
 「新規作成」をクリック、ルールの1を「送信者にユーザーが含まれている場合」をチェック、ルール2に「指定したフォルダに移動する」、もしくは「削除する」をチェックしさらに「ルールの処理を中止する 」をチェック。3の「ユーザーが含まれている」部分をクリックしてとりあえず適当なアドレスを登録、まぁ「12345」でOK、「追加」をクリックして「OK」を押し閉じる。次に2で「指定したフォルダに移動する」を選択した場合は3の「指定したフォルダ」をクリックし、異動先に先ほど作った「メルマガ」フォルダを指定。4のルール名にまぁ適当に「メルマガ」とでも入れておく。
 さて、レジストリからルール部分を書き出します。「スタート」→「ファイル名を指定して実行」→「Regedit」と入れ「OK」をクリック。レジストリエディタが開いたら、
 

HKEY_CURRENT_USER\Identities\[数字の羅列]\Software\Microsoft\Outlook Express\5.0\Rules\Mail\

 をたどって開いていき、ルールが1つしか登録されていない場合は000というフォルダがあると思う、ルールがすでに登録してある場合は000から順にクリックし、「name」という項目に先ほど入れた「メルマガ」と書いてある部分を探し出す。探し出したらその中の「Criteria」→「000」の順に開き、「000」を選択した状態でメニューの「ファイル」→「エクスポート」を選択。ruleとでも名前を付けてデスクトップに保存する。
 保存したらこいつをまたエディタで開き、「"Value"=hex:」以降を消去。消去したらここに先ほどのマクロで作成した数字の羅列をコピーする。
 

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Identities\[数字の羅列]\Software\Microsoft\Outlook Express\5.0\Rules\Mail\[数字]\Criteria\000] "Type"=dword:0000000c
"Logic"=dword:00000000
"Flags"=dword:00000000
"ValueType"=dword:00000041
"Value"=hex:6D,61,73,74,65,72,・・・・

 こんな感じになるはずだ。これで完了、保存してください。さぁ、それでは実行。OutlookExpressをいったん終了し、今作ったrule.regファイルをダブルクリックすると「変更します、いいですか?」みたいなメッセージがでるので「OK」を選択。
 これで目出度く今まできていたメルマガのアドレスがすべて一括でルール登録された。あとは青申で年度末までにためまくった伝票を徹夜で入れてるような人みたいにならないように、いらないメルマガが来るたびにちゃんとメッセージルールにアドレスを登録していけばOKだ。
 ふぅ・・・、さすがに疲れた。ここまで書いて思ったのだがこういう作業を自動でしてくれるフリーのソフトって探せばあるんじゃないのかな?Spam対策みたいなOutlookExpressの拡張ソフトがちらほらと落ちていたし。もしあったら無駄だよね、この作業は・・しかも面倒だし。 まぁ発作的に作業し始めたのでその手順を書き残したということにして便利なユーティリティは探さないでおく・・・。

 Posted by at 18:31
12月 012004
 

 とりあえずカクカクしすぎる場合はVDMSOUNDのプロパティの設定をいじってみて下さい。Advancedを開いて
 Programタブはargmentsに「/W」を入れ、Alt+Enterのみチェック。その他のチェックは全部外す。
 Compatibilityは、DPMIとCLI/POPF、BasicVESAのみチェック
 DOS Environmentはそのまま
 PerformanceはCap DOS timer frequencyにチェックのみ。
 Troubleshooting、AdLib、MIDI、Joystickはチェックを外す。
 これで何とか行くようになると思います。これでもガクガク過ぎる場合はその辺の設定をいじってみて、良い設定を見つけたら教えて下さい。では。

 Posted by at 20:36
12月 012004
 

 昔のDOS時代のゲームで「DEATH RALLY」というゲームがある。前も日記で書いたかもしれないが、まだShareWareVersionでInternetに落ちているので遊び方をお教えしましょう。
hi_t1.jpg hi_t6.jpg hi_t5.jpg
 このゲームはレースゲームを真上から見下ろしたタイプの画面で、体当たり・地雷・マシンガン・沿道の観客はひき殺せるし何でもあり、レースで勝つと金がもらえて自分の車をグレードアップしていくというゲームだ。最後のほうはもう目が追いつかない位のスピードの車が出てくる。ネットにも対応していて対戦が出来るのだが、まだネットゲームが普及する前の物なのでLANでIPX、もしくはシリアルのクロスケーブル直結・Dialup直接続という今では誰もわからないような仕様、ということでネット対戦は不可能だがコンピューターとの対戦でも結構熱いので興味のある方は試してみてください。
 環境は2000/XPのみを説明。95ならネイティブで動くはずですがSoundBlasterの設定がうまくいくかどうかわからないので割愛。とりあえず2000/XPのDOS PromptでSoundBlasterエミュレーションを行うソフトをインストールします。
 VDM Sound 2.1.0 BETA
現時点では上が最新のようですので「Download VDMSound 2.1.0」をダウンロード、インストールしてください。インストール時の選択は全てデフォルトのまま「次へ」を押していけばOKです。
 つぎにDEATH RALLY本体をダウンロード。
 DEATH RALLY Download Page
 このページの「ZIP File」というリンクをクリックしてダウンロード。ダウンロード後に解凍したら、マイコンピュータのCドライブを開いて新しいフォルダを作成し、フォルダ名を「RALLY」に変更、さきほど解凍したファイルをそこへコピーまたは移動する。つぎにスタートメニューからアクセサリのコマンドプロンプトを実行し、

C:\Documents and Settings\xxx>_

 という状態になったら「us」と入れてEnterを押してください。(基本的にコマンドを入れた後はEnterです、以下省略)

C:\Documents and Settings\xxx>us

 次に

C:\Documents and Settings\xxx>cd \rally

 と入力。「\」は¥です。(BackSpaceの左隣)もし英語キーボードになってしまって押せない場合はEnter左の「]」を押すと出ます。

C:\RALLY>

 となるので

C:\RALLY>install

 と入力するとSetup画面が出てきます。Enterキーを何回か押すとSetupが完了します。

C:\RALLY>exit

 と入力してコマンドプロンプトを閉じます。次に先ほど作成したCドライブのRallyフォルダ内にあるRALLY.EXEというファイルを右クリックし、「Run with VDMS」を選択。「Welcome to the CDMSound Configuration Wizard」画面が出てくるので 「Set up a custon configuration」を選択して「次へ」、「Creative configuration from scratch」を選択して「次へ」、「TODO:add stuff here」画面で「Advanced…」を選択。設定画面が出てくるの「SoundBlaster」というタブを選択して、IRQのみ5に変更し、「OK」を選択。「次へ」を選択。「Remember my settings」と「add a shortcut to my desktop」両方にチェックをつけて完了をクリック。
 これでいきなりスタートします。デスクトップにもショートカットが作成されるので次からはそのショートカットをクリックするだけでOK。遊び方は矢印キーとShift・Ctrl・Altあたりかな、その辺はゲームのOption画面とか見ながら試行錯誤してください。
 95年作のゲームにしてはよく出来てますよ、うまくいかなかったら掲示板かコメントへ質問して下さい。わかる範囲でお答えします。スタートするとわかると思いますが、メーカーがApogeeとRemedyでRemedyと言えばFinalRealityというBenchMarkや最近ではMAX Payneというゲームで有名ですよね、ここは結構な老舗なんです。遊ぶゲームが無くて暇だなーという方はDOSゲームに初挑戦て感じでチャレンジしてみてはいかがでしょうか。
 このゲーム、PSPやNintendoDSに移植して対戦出来ようにしたらバカ売れしそうな予感。。

 Posted by at 18:29
8月 302004
 

 今日も一日家。暇だったので、先日Lineで戦争中に録画がどうのといっているのが気になったのでちょっと挑戦してみた。で、あちこち探し回って見つかったのが FRAPS これ。こいつは出来がいい。うらに常駐してホットキーで録画スタート・ストップが可能だ。これはよすぎる、と思ってLineで実験してみたがまったく反応なし。いろいろやっていたがほかのゲームでは動作するので、Lineのシステムが古すぎるのだろう。。。DirectXに反応するシステムのようだし。
 FRAPSがLineで動かなかったので別のを探して見つかったのがこれ、HyperCam。こいつはFRAPSと比べると一段落ちるがLineを録画できた。最新じゃないバージョン1.72はここでDLできる、なんで古いバージョンをリンクするのかは聞かないように。一応ホットキーが設定できるのだが、録画スタート・ストップでウインドウの更新をしてるのでカレントウィンドウが変わってしまう。=裏画面に行ってしまうのである。こういう微妙に使えないところが非常にもどかしい。FRAPSが今後のバージョンで対応してくれるのことを祈ろう。録画した結果は これだ、キャラ名でちゃってるが勘弁。さすがに圧縮すると結構汚くなるね、でもまぁサイズ的にこれぐらいがOKかなというレベルだ。以上、今日はこれに半日費やしてしまったのだった。

 Posted by at 04:13
5月 172004
 

 会社のPCの調子が悪すぎる。面倒なので全部入れなおしを検討し、さっそく実行。ただ現在使っているメールやらデスクトップに散乱している書類など消したくないので方法を考える。。DVDRはあるが現在の使用中の容量が130G。130G/4.5G=28.8枚。無理。仮にやったとして1枚15分x29枚=435分/60=7.25時間。アホカ。ということでほかの方法を考える。
 ここで以前CDのみでWindowsを動かせるというものすごく便利なBart’s PE Builderというツールを発見し、作っておいたCDがあるのを思い出し、CDのみでWindowsを起動。これだとHDDのWindowsを起動しない状態でHDDをいじれるのですべてのファイルをいじくれる。ということでWin9x時代のような技が使えるかな。と実験もかねてやってみる。
 マイコンピュータからシステムHDDを開き、Backupというフォルダをつくり、HDDの中身全部をそのフォルダの中に移動、、できた。まぁ当たり前だが今まで無理だったのでちょっと感動。次に再起動し、WindowsXpのCDでSetupを起動し、フォーマットせずにインストール。完了。すべての情報がBackupフォルダの中に残ったままWindowsXpの新規インストールに成功した。こいつは楽だ、これで前のように気軽に再インストールができる。「さすが俺様!」。と言ったのだが会社の女の子は無視。「聞いてる?!」
 ここまで文章打って思ったが新しいキーボード、タッチが重くて使いにくすぎる。昔から使っているメカニカルタイプに戻そうかと考える。あれはカチっと音がした所で入力されたことがわかるので奥まで押さなくていいし、ゴムじゃないから軽くていいんだよな。と思ったがカチカチカチカチうるさいんだよな・・・特に夜は。静穏メカニカルキーボードとか出てくれりゃいいんだが。まぁ使ってりゃ軽くなるだろうししばらく我慢。

 Posted by at 00:00