WSH : 指定したキーでレジストリエディタを開く は、WSH での処理なので、どちらかと言えばバッチ処理です。連続してレジストリエディタの作業をするのでは無く、その場限りの処理で使ったりします( とにかくある場所のレジストリキーを開きたい等 ) このサンプルは、ある目的の作業中にレジストリエディタの特定のキーを、何度も連続して開く事を想定していますので、GUI を持つ HTA を使っています。
右端のアイコンよりダウンロードできます
<SCRIPT language="VBScript">
Dim WshShell
Set WshShell = CreateObject( "WScript.Shell" )
Dim objWMIService
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
</SCRIPT>
<html>
<head>
<title>指定したキーでレジストリエディタを開く</title>
<meta http-equiv="content-type" content="text/html; charset=SHIFT_JIS">
<HTA:APPLICATION ID="Sqlwin"
BORDERSTYLE="sunken"
INNERBORDER="yes"
SCROLL="no"
ICON="http://winofsql.jp/WinOfSql.ico"
>
<style type="text/css">
* {
font-family: "メイリオ"
font-size: 16px;
}
body {
margin:0;
background-color: white;
}
.action {
margin-top: 20px;
margin-left: 20px;
}
</style>
<SCRIPT language="VBScript">
Function ActionOpenReg( str )
Dim colProcessList
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'regedit.exe'")
For Each objProcess in colProcessList
WshShell.AppActivate("レジストリ エディタ")
WshShell.SendKeys ("%{F4}")
Next
Call window.setTimeout("Call OpenReg(""" & str & """)", 500 )
End Function
Function OpenReg( str )
Dim colProcessList
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'regedit.exe'")
For Each objProcess in colProcessList
on error resume next
objProcess.Terminate()
on error goto 0
Next
Dim strRegSavePoint
if GetOSVersion() >= 6 then
str = "コンピュータ\" & str
else
str = "マイ コンピュータ\" & str
end if
strRegSavePoint = "Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\LastKey"
WshShell.RegWrite "HKCU\" & strRegSavePoint, str, "REG_SZ"
Call WshShell.Run( "regedit" )
End Function
' **********************************************************
' OS バージョンの取得
' **********************************************************
Function GetOSVersion()
Dim colTarget,str,aData,I,nTarget
Set colTarget = objWMIService.ExecQuery( _
"select Version from Win32_OperatingSystem" _
)
For Each objRow in colTarget
str = objRow.Version
Next
aData = Split( str, "." )
For I = 0 to Ubound( aData )
if I > 1 then
Exit For
end if
if I > 0 then
nTarget = nTarget & "."
end if
nTarget = nTarget & aData(I)
Next
GetOSVersion = CDbl( nTarget )
End Function
</SCRIPT>
</head>
<body>
<input class="action" type="text" id="key" style='width:600px;' value="HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run">
<input class="action" type="button" value=" 開く " onClick='Call ActionOpenReg(document.getElementById("key").value)'>
</BODY>
</html>
<SCRIPT for="window" event="onload" language="VBScript">
window.focus()
top.moveTo 0, 0
top.resizeTo 800, 120
</SCRIPT>
<SCRIPT for="window" event="onunload" language="VBScript">
</SCRIPT>
|
|
【VBScriptの最新記事】
- 指定した位置でレジストリエディタを開く為の VBScript をダウンロードします
- VBScript(WSH) と PHP(7.3) で氏名をランダムに作成
- VBScript : XCOPYで新しいファイルのみバックアップする為のスクリプトを作成するスクリプト
- VBScript + PowerShell : PowerShell がファイルを開くダイアログで取得したパスをテキストファイル経由で VBScript に戻して使用する
- VBScript : XMLファイルのテキストノードの値の更新
- WSH(VBScript) : 指定したキーでレジストリエディタを開く
- VBScript : WEB上のHTMLを使用して、InternetExplorer.Application でパスワード入力を実装する
- VBS : 正規表現で、URL リストの中のドメイン部分のみを取り出す
- 文字列を指定してその名前の変数でオブジェクトを作成する : WEB に VBScript ライブラリ
- 実行中のスクリプトのタイプを知る : WEB に VBScript ライブラリ
- VBS : FileZilla用誰にでも使える拡張子ランチャー






