Hoge Lumber Company
///
///[FILENAME]ShowRHDD.js
///
///Pre-installation completion utility ”showRHDD” V1.0L10M06(2002/10/02)
///Copyright (C) Matsushita Electric Industrial Co., Ltd. 2002
///
///Windows Scripting Host: JScript
///
varvbDebug= false;/// デバッグ中はtrue
var vbOK = 0;
var vbOKCancel = 1;
var vbCancel = 2;
var vbInformation = 64;
var vbExclamation = 48;
var vbQuestion = 32;
var vbWarning = 16;
var L_MsgBox_Title_Text = ”RecoveryHDD”;
var L_MsgBox_Message_Text = ”Recoveryドライブを見えるようにしますか?”;
var L_MsgBox_Message_Text2 = ”[OK]をクリックすると再起動します。”;
var L_MsgBox_Message_Text_A= ”管理者権限のあるユーザで実行してください。”;
var L_MsgBox_Message_Text_R=”第4エントリーにパーティションが見つかりました。¥nRecoveryドライブの設定変更が出来ません。”;
var L_MsgBox_Message_Text_RC= ”ハードディスクリカバリー領域がありません。”;
Main();
function Main()
{
var intDoIt;
var WSHShell;
//var fs;
var intOff;
var TestReg;
var TestReg1;
// シェルオブジェクトを作成
WSHShell = WScript.CreateObject(”WScript.Shell”);
// ファイルシステムオブジェクトを作成
//fs = WScript.CreateObject(”Scripting.FileSystemObject”);
///セットアップ開始の確認メッセージを表示
intDoIt = WSHShell.Popup(L_MsgBox_Message_Text + ”¥n” + L_MsgBox_Message_Text2, 0, L_MsgBox_Title_Text, vbOKCancel + vbQuestion );
// キャンセル
if (intDoIt == vbCancel)
{
WScript.Quit();
}
/// 管理者権限チェック(add for R1mk2)
try
{//レジストリにかきこめるかどうかでチェック
WSHShell.RegWrite(”HKLM¥¥SOFTWARE¥¥Microsoft¥¥Windows¥¥CurrentVersion¥¥run¥¥OXPRunOnce”, ”Dummy”);
WSHShell.RegDelete(”HKLM¥¥SOFTWARE¥¥Microsoft¥¥Windows¥¥CurrentVersion¥¥run¥¥OXPRunOnce”);
}
catch (e)
{// 書き込めなかったらNG
WSHShell.Popup( L_MsgBox_Message_Text_A, 0, L_MsgBox_Title_Text, vbOK + vbExclamation);
WScript.Quit();
}
///RECOVERYパーティションをEnableにする。
///情報を登録
TestReg = WSHShell.Run( ”C:¥¥util¥¥oxp¥¥tools¥¥HDEDIT.EXE /TestRegister”, 0, true );
///情報が登録出来なかったら時エラー表示して終了
if( TestReg == -2 )
{
intOff = WSHShell.Popup( L_MsgBox_Message_Text_R, 0, L_MsgBox_Title_Text, vbOK );
if (intOff == vbOKCancel)
{
WScript.Quit();
}
}
else if( TestReg == -3 )
{
intOff = WSHShell.Popup( L_MsgBox_Message_Text_RC, 0, L_MsgBox_Title_Text, vbOK );
if (intOff == vbOKCancel)
{
WScript.Quit();
}
}
TestReg1 = WSHShell.Run( ”C:¥¥util¥¥oxp¥¥tools¥¥HDEDIT.EXE /RegisterRecoveryDrive”, 0, true );
///情報が登録出来なかったら時エラー表示して終了
if( TestReg1 == -2 )
{
intOff = WSHShell.Popup( L_MsgBox_Message_Text_R, 0, L_MsgBox_Title_Text, vbOK );
if (intOff == vbOKCancel)
{
WScript.Quit();
}
}
else if( TestReg1 == -3 )
{
intOff = WSHShell.Popup( L_MsgBox_Message_Text_RC, 0, L_MsgBox_Title_Text, vbOK );
if (intOff == vbOKCancel)
{
WScript.Quit();
}
}
///Mode変更
WSHShell.Run( ”C:¥¥util¥¥oxp¥¥tools¥¥HDEDIT.EXE /SetRecoveryMode EDIT”, 0, true );
///WSHShell.Run(”C:¥¥util¥¥oxp¥¥tools¥¥HDEDIT.EXE /ShowRecoveryDrive”);
if (vbDebug)
{
intDoIt = WSHShell.Popup(”再起動します”, 7, L_MsgBox_Title_Text, vbOKCancel + vbInformation);
// キャンセル
if (intDoIt == vbCancel)
{
WScript.Quit();
}
}
WSHShell.Run(”C:¥¥util¥¥oxp¥¥tools¥¥REBOOTEX.EXE” );
WScript.Quit();
}
そのファイル。
ご希望でしたら、ここに書いてください。