Last active
February 6, 2025 01:32
-
-
Save eyasuyuki/1d6cd16d4aa9586695ba33b49b30b467 to your computer and use it in GitHub Desktop.
Windows 11でタスクバーを上下左右に表示するJSCript
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var WshShell = new ActiveXObject("WScript.Shell"); | |
var FSO = new ActiveXObject("Scripting.FileSystemObject"); | |
var regPath = "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\StuckRects3"; | |
var backupFile = "backup.txt"; | |
// タスクバーの位置を定義(分かりやすい名前) | |
var taskbarPositions = { | |
"LEFT": "00", // 左 | |
"TOP": "01", // 上 | |
"RIGHT": "02", // 右 | |
"BOTTOM": "03" // 下(デフォルト) | |
}; | |
try { | |
if (FSO.FileExists(backupFile)) { | |
// 既にバックアップがある場合、元の設定を復元 | |
var file = FSO.OpenTextFile(backupFile, 1); | |
var originalValue = file.ReadLine(); | |
file.Close(); | |
WshShell.RegWrite(regPath, originalValue, "REG_BINARY"); | |
FSO.DeleteFile(backupFile); | |
WScript.Echo("タスクバーの位置を元に戻しました。"); | |
} else { | |
// 現在のレジストリ値をバックアップ | |
var originalValue = WshShell.RegRead(regPath); | |
var file = FSO.CreateTextFile(backupFile, true); | |
file.WriteLine(originalValue); | |
file.Close(); | |
// ユーザーに選択させる | |
var userInput = WshShell.Popup( | |
"タスクバーの位置を選択してください:\n1 - 左 (LEFT)\n2 - 上 (TOP)\n3 - 右 (RIGHT)\n4 - 下 (BOTTOM)", | |
0, "タスクバーの位置変更", 1 | |
); | |
// 選択値を変換 | |
var positionMap = { | |
1: "LEFT", | |
2: "TOP", | |
3: "RIGHT", | |
4: "BOTTOM" | |
}; | |
if (userInput === null || !(userInput in positionMap)) { | |
WScript.Echo("無効な入力です。スクリプトを終了します。"); | |
WScript.Quit(); | |
} | |
var selectedPosition = positionMap[userInput]; | |
var newValue = "00000000 00000000 " + taskbarPositions[selectedPosition] + "000000 00ffffff ffffffff ffffffff 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000"; | |
// レジストリを書き換え | |
WshShell.RegWrite(regPath, newValue, "REG_BINARY"); | |
WScript.Echo("タスクバーの位置を「" + selectedPosition + "」に変更しました。元に戻すにはこのスクリプトを再実行してください。"); | |
} | |
// エクスプローラーを再起動 | |
WshShell.Run("taskkill /F /IM explorer.exe", 0, true); | |
WshShell.Run("explorer.exe", 0, false); | |
} catch (e) { | |
WScript.Echo("エラー: " + e.message); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment