SQLの窓

2019年03月07日


空の zip ファイル / VBScript で作成可能

「新規作成」は、レジストリに登録されています

フォルダ内で、右クリックすると表示されるポップアップメニューには「新規作成」というメニューがありますが、これは、Windows Shell 仕様に従ってレジストリに登録された情報を元に作成されています。



この中で「圧縮 (zip形式) フォルダ」とあるメニューを実行すると、空の zip ファイルが作成されます。これをダンプすると以下のような内容になっています
          0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
--------------------------------------------------------------------------
00000000 50 4B 05 06 00 00 00 00 00 00 00 00 00 00 00 00  PK..............
00000010 00 00 00 00 00 00                                ......

504B0506
0000     ディスク情報1
0000     ディスク情報2
0000     エントリされたデータの情報1
0000     エントリされたデータの情報2
00000000 サイズ情報
00000000 データへのオフセット
0000     後続するコメントの長さ
結構単純なデータですが、これは以下のようなレジストリデータとして直接データが登録されています。

コンピューター\HKEY_CLASSES_ROOT\.zip\CompressedFolder\ShellNew


Data という名前で登録されているデータが作成されるようになっています。この仕様はこちら(英文)から確認できます

さらに、この空のzip書庫は、以下のようにしてスクリプトで作成する事もできます
Set Fso = CreateObject( "Scripting.FileSystemObject" )
Set Handle = Fso.CreateTextFile( "empty.zip", True )
EmptyData = Chr(&H50) & Chr(&H4B) & Chr(&H5) & Chr(&H6)
EmptyData = EmptyData & String( 18, Chr(0) )
Handle.Write EmptyData
Handle.Close


関連する情報

.ZIP File Format Specification( 仕様 )




タグ:書庫
posted by lightbox at 2019-03-07 13:22 | Windows | このブログの読者になる | 更新情報をチェックする

2019年02月19日


エクスプローラを再起動して、ショートカットの拡張子( .LNK ) を表示するようにする / VBScript



このレジストリキー内の NeverShowExt の名称を AllwaysShowExt に変更すると .LNK 拡張子が表示されるようになります。

※ ダウンロードされるスクリプトでレジストリの該当場所が開かれます。
( コンピューター\HKEY_CLASSES_ROOT\lnkfile )
※ 他にも コンピューター\HKEY_CLASSES_ROOT\InternetShortcut があります

但し変更してもすぐには反映されないのでエクスプローラを再起動する必要があります。まともにそれを行うにはいったんログオフする必要がありますが、以下のスクリプトで再起動できます。

' **********************************************************
' エクスプローラ(explorer.exe) の再起動
' **********************************************************
strTarget = "explorer.exe"

' 起動用
Set WshShell = CreateObject( "WScript.Shell" )
' WMI用
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")

' いったん終了させます
Set colProcessList = objWMIService.ExecQuery _ 
	("Select * from Win32_Process Where Name = '"&strTarget&"'") 
For Each objProcess in colProcessList
	on error resume next
	' 通常はこれで終了されるはず
	objProcess.Terminate() 
	if Err.Number <> 0 then
		' もし終了できなかった場合の強制終了
		Call WshShell.Run("taskkill /F /PID " & objProcess.ProcessId, 0 ) 
	end if
	on error goto 0
Next 

' 少し待ちます
Wscript.Sleep(500)
' エクスプローラを起動
WshShell.Run( strTarget )






タグ:Windows howto
posted by lightbox at 2019-02-19 20:33 | Windows | このブログの読者になる | 更新情報をチェックする

2019年01月15日


Shell コマンドで開くフォルダ : HTA でクリックすると実行可能

参考 : Shell コマンドで開く特殊フォルダー一覧 上記リンク先では、Windows7 ベースで動かないものがありました。それらを削除し、直接実行できる HTA にしました。また、現在でも重要なコマンドは背景を pink にしています。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta http-equiv="Content-type" content="text/html; charset=shift_jis">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>

	// ウインドウの位置とサイズ
	top.moveTo( 30, 30 );
	top.resizeTo( 700, 800 );

$(function(){
	$("#lboxtable td").each(function(){
		if( $(this).get(0).cellIndex == 0 ) {

			$(this).css({ "cursor" : "pointer" });

		}
	});

	$("#lboxtable td").on("click",function(){
		if( $(this).get(0).cellIndex == 0 ) {

			var text = $(this).text();
			shellRunExe( text, "" );

		}
	});
});

function newObject( className ) {

	var obj;

	try {
		obj = new ActiveXObject( className );
	}
	catch (e) {
		obj = null;
	}

	return obj;

}

var shell = newObject("Shell.Application");

function shellRunExe( strPath, strParam ) {

	shell.ShellExecute( strPath, strParam )

}

</script>
</head>
<body>

<style type="text/css">
.it {
	background-color: pink;
}

#lboxtable * {
	font-family: メイリオ,'MS Pゴシック';
	font-size: 12px;
}
#lboxtable table {
	border-collapse: collapse;
	border-style: solid;
	border-color: #000000;
	border-width: 1px;
	background-color: #FFFFFF;
}
#lboxtable td {
	padding: 5px;
	border-style: solid;
	border-color: #000000;
	border-width: 1px;
	/* white-space: nowrap; */
}
#lboxtable th {
	padding: 5px;
	border-style: solid;
	border-color: #000000;
	border-width: 1px;
	background-color: silver;
	/* white-space: nowrap; */
}
#lboxtable .header {
	padding: 5px;
	border-style: solid;
	border-color: #000000;
	border-width: 1px;
	background-color: silver;
	/* white-space: nowrap; */
}
</style>

<DIV id="lboxtable">
<table>
    <tbody>
        <tr>
            <td >shell:ControlPanelFolder</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td >shell:AddNewProgramsFolder</td>
            <td >ネットワークからプログラムをインストール</td>
        </tr>
        <tr>
            <td >shell:ConnectionsFolder</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td >shell:PrintersFolder</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td class="it">shell:AppData</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td >shell:Administrative Tools</td>
            <td >ユーザーの管理ツール</td>
        </tr>
        <tr>
            <td >shell:Cookies</td>
            <td >クッキー</td>
        </tr>
        <tr>
            <td >shell:NetHood</td>
            <td >ネットワーク ショートカット</td>
        </tr>
        <tr>
            <td >shell:PrintHood</td>
            <td >プリンター ショートカット</td>
        </tr>
        <tr>
            <td >shell:Programs</td>
            <td >スタートメニューのプログラム</td>
        </tr>
        <tr>
            <td >shell:Recent</td>
            <td >最近使った項目</td>
        </tr>
        <tr>
            <td >shell:SendTo</td>
            <td >「送る」メニュー</td>
        </tr>
        <tr>
            <td >shell:Start Menu</td>
            <td >ユーザーのスタートメニュー</td>
        </tr>
        <tr>
            <td  class="it">shell:Startup</td>
            <td >ユーザーのスタートアップ</td>
        </tr>
        <tr>
            <td >shell:Templates</td>
            <td >ユーザーのテンプレート</td>
        </tr>
        <tr>
            <td >shell:Quick Launch</td>
            <td >クイック起動</td>
        </tr>
        <tr>
            <td >shell:User Pinned</td>
            <td >ジャンプリスト 固定メニュー</td>
        </tr>
        <tr>
            <td  class="it">shell:Local AppData</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td >shell:Cache</td>
            <td >インターネット一時ファイル</td>
        </tr>
        <tr>
            <td >shell:CD Burning</td>
            <td >CDの一時書き込みフォルダー</td>
        </tr>
        <tr>
            <td >shell:History</td>
            <td >IEの履歴</td>
        </tr>
        <tr>
            <td >shell:Common AppData</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td >shell:Common Templates</td>
            <td >共通のテンプレート</td>
        </tr>
        <tr>
            <td >shell:Common Start Menu</td>
            <td >共通のスタートメニュー</td>
        </tr>
        <tr>
            <td  class="it">shell:Common Startup</td>
            <td >共通のスタートアップ</td>
        </tr>
        <tr>
            <td >shell:Common Programs</td>
            <td >共通のスタートメニューのプログラム</td>
        </tr>
        <tr>
            <td  class="it">shell:Common Administrative Tools</td>
            <td >共通の管理ツール</td>
        </tr>
        <tr>
            <td >shell:ProgramFiles</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td >shell:ProgramFilesCommon</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td >shell:Common Desktop</td>
            <td >パブリックのデスクトップ</td>
        </tr>
        <tr>
            <td >shell:Common Documents</td>
            <td >パブリックのドキュメント</td>
        </tr>
        <tr>
            <td >shell:CommonDownloads</td>
            <td >パブリックのダウンロード</td>
        </tr>
        <tr>
            <td >shell:CommonMusic</td>
            <td >パブリックのミュージック</td>
        </tr>
        <tr>
            <td >shell:CommonPictures</td>
            <td >パブリックのピクチャ</td>
        </tr>
        <tr>
            <td >shell:CommonVideo</td>
            <td >パブリックのビデオ</td>
        </tr>
        <tr>
            <td >shell:Libraries</td>
            <td >ライブラリ</td>
        </tr>
        <tr>
            <td >shell:UsersLibrariesFolder</td>
            <td >ライブラリ</td>
        </tr>
        <tr>
            <td >shell:DocumentsLibrary</td>
            <td >ドキュメント</td>
        </tr>
        <tr>
            <td >shell:MusicLibrary</td>
            <td >ミュージック</td>
        </tr>
        <tr>
            <td >shell:PicturesLibrary</td>
            <td >ピクチャ</td>
        </tr>
        <tr>
            <td >shell:VideosLibrary</td>
            <td >ビデオ</td>
        </tr>
        <tr>
            <td >shell:UserProfiles</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td >shell:Profile</td>
            <td >ユーザーのフォルダー</td>
        </tr>
        <tr>
            <td >shell:UsersFilesFolder</td>
            <td >ユーザーのフォルダー</td>
        </tr>
        <tr>
            <td >shell:Contacts</td>
            <td >ユーザーのアドレス帳</td>
        </tr>
        <tr>
            <td  class="it">shell:Downloads</td>
            <td >ユーザーのダウンロード</td>
        </tr>
        <tr>
            <td >shell:Favorites</td>
            <td >ユーザーのIEのお気に入り</td>
        </tr>
        <tr>
            <td >shell:Links</td>
            <td >ユーザーのリンク<br>
            (エクスプローラーのお気に入り)</td>
        </tr>
        <tr>
            <td >shell:My Music</td>
            <td >ユーザーのマイ ミュージック</td>
        </tr>
        <tr>
            <td >shell:My Pictures</td>
            <td >ユーザーのマイ ピクチャ</td>
        </tr>
        <tr>
            <td >shell:My Video</td>
            <td >ユーザーのマイ ビデオ</td>
        </tr>
        <tr>
            <td >shell:Personal</td>
            <td >ユーザーのマイ ドキュメント</td>
        </tr>
        <tr>
            <td >shell:SavedGames</td>
            <td >保存したゲーム</td>
        </tr>
        <tr>
            <td >shell:Searches</td>
            <td >ユーザーの検索</td>
        </tr>
        <tr>
            <td >shell:Public</td>
            <td >パブリックのユーザーのフォルダー</td>
        </tr>
        <tr>
            <td  class="it">shell:Windows</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td >shell:Fonts</td>
            <td >フォント</td>
        </tr>
        <tr>
            <td >shell:ResourceDir</td>
            <td >テーマ リソース フォルダー</td>
        </tr>
        <tr>
            <td  class="it">shell:System</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td  class="it">shell:Desktop</td>
            <td >デスクトップ</td>
        </tr>
        <tr>
            <td >shell:HomeGroupFolder</td>
            <td >ホームグループ</td>
        </tr>
        <tr>
            <td >shell:MyComputerFolder</td>
            <td >コンピューター</td>
        </tr>
        <tr>
            <td >shell:NetworkPlacesFolder</td>
            <td >ネットワーク</td>
        </tr>
        <tr>
            <td >shell:RecycleBinFolder</td>
            <td >ごみ箱</td>
        </tr>
        <tr>
            <td >shell:SearchHomeFolder</td>
            <td >検索結果</td>
        </tr>
    </tbody>
</table></DIV>


</body>
</html>


実際に運用で使用する場合は、プロパティから『許可する』に設定しておいたほうが良いでしょう






posted by lightbox at 2019-01-15 16:48 | Windows | このブログの読者になる | 更新情報をチェックする

Explorer.exe のコマンドライン を使用して CLSID で特殊フォルダを開く / この記事では table のコマンドラインをクリックするとクリップボードにコピーできます。

Explorer.exe のコマンドライン を使用して、特殊フォルダを開きます

※ REM はバッチファイル内でのコメントです
REM コンピューター
Explorer /e,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}

REM ネットワーク
Explorer /e,::{208D2C60-3AEA-1069-A2D7-08002B30309D}

REM マイ ドキュメント
Explorer /e,::{450D8FBA-AD25-11D0-98A8-0800361B1103}

REM コントロールパネル
Explorer /e,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}

REM ごみ箱
Explorer /e,::{645FF040-5081-101B-9F08-00AA002F954E}

REM プリンター
Explorer /e,::{2227A280-3AEA-1069-A2DE-08002B30309D}


コントロールパネル関連の 1

▼ パス部分をクリックするとクリップボヘードへコピーします
名称 パス
1 システムとセキュリティ Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\5
2 ネットワークとインターネット Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\3
3 ハードウェアとサウンド Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\2
4 プログラム Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\8
5 ユーザー アカウント Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\9
6 デスクトップのカスタマイズ Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\1
7 時計と地域 Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\6
8 コンピューターの簡単操作 Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\7
9 すべてのコントロール パネル項目 Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0

コントロールパネル関連の 2

▼ パス部分をクリックするとクリップボヘードへコピーします
名称 パス
1 電源オプション Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{025A5937-A6BE-4686-A844-36FE4BEC8B6D}
2 NVIDIA コントロール パネル Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{0BBCA823-E77D-419E-9A44-5ADEC2C8EEB0}
3 タスク バーとナビゲーション Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{0DF44EAA-FF21-4412-828E-260A8728E7F1}
4 資格情報マネージャー Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{1206F5F1-0569-412C-8FEC-3204630DFB70}
5 既定のプログラム Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{17CD9488-1228-4B2F-88CE-4298E93E0966}
6 RemoteApp とデスクトップ接続 Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{241D7C96-F8BF-4F85-B01F-E2B043341A4B}
7 Windows Defender ファイアウォール Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{4026492F-2F69-46B8-B9BF-5654FC07E423}
8 電話とモデム Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{40419485-C444-4567-851A-2DD7BFA1684D}
9 音声認識 Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{58E3C745-D971-4081-9034-86E34B30836A}
10 ユーザー アカウント Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{60632754-C523-4B62-B45C-4172DA012619}
11 地域 Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{62D8ED13-C9D0-4CE8-A914-47DD628FB1B0}
12 マウス Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{6C8EEC18-8D75-41B2-A177-8831D59D2D50}
13 エクスプローラーのオプション Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{6DFD7C5C-2451-11D3-A299-00C04F8EF6AF}
14 キーボード Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{725BE8F7-668E-4C7B-8F90-46BDB0936430}
15 デバイス マネージャー Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{74246BFC-4C96-11D0-ABEF-0020AF6B0B7A}
16 プログラムと機能 Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{7B81BE6A-CE2B-4676-A29E-EB907A5126C5}
17 インデックスのオプション Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{87D66A43-7B11-4A28-9811-C86EE395ACF7}
18 Windows To Go Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{8E0C279D-0BD1-43C3-9EBD-31C3DC5B8A77}
19 ネットワークと共有センター Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{8E908FC9-BECC-40F6-915B-F4CA0E70D03D}
20 記憶域 Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{F942C606-0914-47AB-BE56-1321B8035096}
21 自動再生 Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{9C60DE1E-E5FC-40F4-A487-460851A8D915}
22 同期センター Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{9C73F5E5-7AE7-4E32-A8E8-8D23B85255BF}
23 回復 Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{9FE63AFD-59CF-4419-9775-ABCC3849F861}
24 赤外線 Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{A0275511-0E86-4ECA-97C2-ECD8F1221D08}
25 インターネット オプション Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{A3DD4F92-658A-410F-84FD-6FBBBEF2FFFE}
26 デバイスとプリンター Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{A8A91A66-3A7D-4424-8D24-04E180695C7A}
27 色の管理 Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{B2C761C6-29BC-4F19-9251-E6195265BAF1}
28 バックアップと復元 Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{B98A2BEA-7D42-4558-8BD1-832F41BAC6FD}
29 システム Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{BB06C0E4-D293-4F75-8A90-CB05B6477EEE}
30 セキュリティとメンテナンス Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{BB64F8A7-BEE7-4E1A-AB8D-7D8273F7FDB6}
31 ファイル履歴 Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{F6B6E965-E9B2-444B-9286-10C9152EDBC5}
32 トラブルシューティング Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{C58C4893-3BE0-4B45-ABB5-A63E4B8C8651}
33 管理ツール Explorer /e,C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools
34 コンピューターの簡単操作センター Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{D555645E-D4F8-4C29-A827-D93C859C4F2A}
35 BitLocker ドライブ暗号化 Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{D9EF8727-CAC2-4E60-809E-86F80A666C91}
36 日付と時刻 Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{E2E7934B-DCE5-43C4-9576-7FE4F75E7480}
37 ワーク フォルダー Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{ECDB0924-4208-451E-8EE0-373C0956DE16}
38 サウンド Explorer /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{F2DDFC82-8F12-4CDD-B7DC-D4FE1425AA4D}

関連する記事

Explorer.exe コマンドライン 引数(オプション)

▼ こちらでは、パスのみをコピーできます
Explorer.exe で呼び出すフォルダの一覧を取得する




posted by lightbox at 2019-01-15 15:26 | Windows | このブログの読者になる | 更新情報をチェックする

2019年01月11日


.regファイルでレジストリのキーや値を削除

ファイルには、Unicode(UTF-16)で保存して下さい。( レジストリエディタからエクスポートすると、Unicode で出力されます )
※ 経験から言うと、SHIFT_JIS で問題無いようですが

Microsoft のドキュメントはこちらです

たとえば、以下のような .reg ファイルでキーとデータを追加します
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\001]
"data"="abc"

データ型が REG_SZ の場合は、"名前"="値" で記述されます。REG_SZ は通常の文字列で、その他のデータ型の場合は、"名前"="データ型:値" とする必要があり、データ型によって値の記述方法が変わります。

例)
REG_BINARY => "名前"=hex:80,00,00,00,00,00,00,00
REG_DWORD => "名前"=dword:00000000

REG_EXPAND_SZ は、環境変数を % で挟んで記述する事によって、システムが置き換えて使用しますが、値の表現はバイナリと同じで16進数表現になります。但し、データ型としては hex(2) が使用されて、Unicode 文字のバイト表現になっています。

例)
"ServiceControlManagerExtension"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,\
  00,72,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,\
  33,00,32,00,5c,00,73,00,63,00,65,00,78,00,74,00,2e,00,64,00,6c,00,6c,00,00,\
  00

キーの削除と値の削除です
Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\001]



Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\001]
"data"=-




レジストリのキーおよび値の名前の変更

キーまたは値を削除し、新しいキーまたは値を新しい名前で作成します



タグ:レジストリ
posted by lightbox at 2019-01-11 13:23 | Windows | このブログの読者になる | 更新情報をチェックする

2019年01月09日


デスクトップのコンピュータアイコンにメニューを追加する

※ Windows の大きなアップデートで消える可能性はありますが、自分の好きなコマンドでカスタマイズできるので便利です。

▼ Windows10


▼ インストールするレジストリのキー
HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell

現状ではおそらくレジストリの該当場所の所有者が TrustedInstaller となっており、Administrators グループに権限が無いと思います。

いったん所有者を Administrators グループ に変更してから、Administrators グループ にアクセス権限を与えます。その後にレジストリのインポートを行って下さい。


アクセス許可を選択して表示されたダイアログの詳細設定ボタンをクリックして、表示された『shell のセキュリティの詳細設定』というダイアログの先頭にある『変更リンク』で所有者を変更します。

Administrators に変更した後、アクセス許可で Administrators にフルコントロールを設定します。


▼ 解凍後の内容 ▼ README
************************************************************
コンピュータアイコンメニュー設定レジストリデータ

■ 事前準備

	インストール場所を開く.bat をエクスプローラからダブル
	クリックしてレジストリエディタを起動し、選択されている
	キーの所有者を自分が所属する Administrators グループに
	変更して、Administrators にフルコントロールを設定します

■ インストール

	computer_menu をエクスプローラからタブルクリック
	してインポートして下さい

■ アンインストール

	uninstall_computer_menu をエクスプローラからタブル
	クリックして下さい


■ 登録された場所でレジストリエディタを開く
	インストール場所を開く.bat をエクスプローラからタブ
	ルクリックして下さい

■著作権その他

このプログラムはフリーです。どうぞ自由に御使用ください。
著作権は作者である私(lightbox)が保有しています。
また、本ソフトを運用した結果については、作者は一切責任を
負えせんのでご了承ください。
************************************************************
computer_menu.reg 001 : mmc.exe "%SystemRoot%\system32\services.msc" /s 002 : "%ProgramFiles%\Common Files\Microsoft Shared\MSInfo\msinfo32.exe" 003 : RunDLL32.EXE shell32.dll,Control_RunDLL appwiz.cpl 004 : RunDLL32.EXE shell32.dll,Control_RunDLL odbccp32.cpl 005 : regedit.exe 006 : %SystemRoot%\system32\cmd.exe 007 : UserAccountControlSettings.exe 008 : mmc.exe "%windir%\system32\eventvwr.msc" /s 009 : rundll32.exe netplwiz.dll,UsersRunDll 010 : rundll32.exe sysdm.cpl,EditEnvironmentVariables 011 : cmd.exe /c powershell -NoProfile -ExecutionPolicy unrestricted -WindowStyle hidden -Command "start notepad.exe %SystemRoot%\system32\drivers\etc\hosts -verb runas" 012 : RUNDLL32.EXE shell32.dll,Options_RunDLL 7 013 : mmc.exe "%windir%\system32\taskschd.msc" /s 014 : mmc.exe "%SystemRoot%\system32\gpedit.msc" 015 : mstsc.exe 016 : control.exe /name Microsoft.WindowsUpdate
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\001]
@="   サービス"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\001\command]
@=hex(2):6d,00,6d,00,63,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,00,53,00,79,\
  00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,\
  73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,65,00,72,00,76,00,69,00,63,\
  00,65,00,73,00,2e,00,6d,00,73,00,63,00,22,00,20,00,2f,00,73,00,00,00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\002]
@="   システム情報"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\002\command]
@=hex(2):22,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,\
  00,65,00,73,00,25,00,5c,00,43,00,6f,00,6d,00,6d,00,6f,00,6e,00,20,00,46,00,\
  69,00,6c,00,65,00,73,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,\
  00,74,00,20,00,53,00,68,00,61,00,72,00,65,00,64,00,5c,00,4d,00,53,00,49,00,\
  6e,00,66,00,6f,00,5c,00,6d,00,73,00,69,00,6e,00,66,00,6f,00,33,00,32,00,2e,\
  00,65,00,78,00,65,00,22,00,00,00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\003]
@="   プログラムと機能"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\003\command]
@="RunDLL32.EXE shell32.dll,Control_RunDLL appwiz.cpl"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\004]
@="   ODBC アドミニストレータ"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\004\command]
@="RunDLL32.EXE shell32.dll,Control_RunDLL odbccp32.cpl"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\005]
@="   レジストリエディタ"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\005\command]
@="regedit.exe"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\006]
@="   コマンドプロンプト"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\006\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6d,00,\
  64,00,2e,00,65,00,78,00,65,00,00,00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\007]
@="   UAC"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\007\command]
@=hex(2):55,00,73,00,65,00,72,00,41,00,63,00,63,00,6f,00,75,00,6e,00,74,00,43,\
  00,6f,00,6e,00,74,00,72,00,6f,00,6c,00,53,00,65,00,74,00,74,00,69,00,6e,00,\
  67,00,73,00,2e,00,65,00,78,00,65,00,00,00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\008]
@="   イベント ビューアー"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\008\command]
@=hex(2):6d,00,6d,00,63,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,00,77,00,69,\
  00,6e,00,64,00,69,00,72,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,\
  33,00,32,00,5c,00,65,00,76,00,65,00,6e,00,74,00,76,00,77,00,72,00,2e,00,6d,\
  00,73,00,63,00,22,00,20,00,2f,00,73,00,00,00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\009]
@="   ユーザーアカウント"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\009\command]
@="rundll32.exe netplwiz.dll,UsersRunDll"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\010]
@="   環境変数"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\010\command]
@="rundll32.exe sysdm.cpl,EditEnvironmentVariables"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\011]
@="   HOSTS"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\011\command]
@=hex(2):63,00,6d,00,64,00,2e,00,65,00,78,00,65,00,20,00,2f,00,63,00,20,00,70,\
  00,6f,00,77,00,65,00,72,00,73,00,68,00,65,00,6c,00,6c,00,20,00,2d,00,4e,00,\
  6f,00,50,00,72,00,6f,00,66,00,69,00,6c,00,65,00,20,00,2d,00,45,00,78,00,65,\
  00,63,00,75,00,74,00,69,00,6f,00,6e,00,50,00,6f,00,6c,00,69,00,63,00,79,00,\
  20,00,75,00,6e,00,72,00,65,00,73,00,74,00,72,00,69,00,63,00,74,00,65,00,64,\
  00,20,00,2d,00,57,00,69,00,6e,00,64,00,6f,00,77,00,53,00,74,00,79,00,6c,00,\
  65,00,20,00,68,00,69,00,64,00,64,00,65,00,6e,00,20,00,2d,00,43,00,6f,00,6d,\
  00,6d,00,61,00,6e,00,64,00,20,00,22,00,73,00,74,00,61,00,72,00,74,00,20,00,\
  6e,00,6f,00,74,00,65,00,70,00,61,00,64,00,2e,00,65,00,78,00,65,00,20,00,25,\
  00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,\
  73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,72,00,69,00,76,\
  00,65,00,72,00,73,00,5c,00,65,00,74,00,63,00,5c,00,68,00,6f,00,73,00,74,00,\
  73,00,20,00,2d,00,76,00,65,00,72,00,62,00,20,00,72,00,75,00,6e,00,61,00,73,\
  00,22,00,00,00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\012]
@="   フォルダオプション"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\012\command]
@="RUNDLL32.EXE shell32.dll,Options_RunDLL 7"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\013]
@="   タスク スケジューラ"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\013\command]
@=hex(2):6d,00,6d,00,63,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,00,77,00,69,\
  00,6e,00,64,00,69,00,72,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,\
  33,00,32,00,5c,00,74,00,61,00,73,00,6b,00,73,00,63,00,68,00,64,00,2e,00,6d,\
  00,73,00,63,00,22,00,20,00,2f,00,73,00,00,00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\014]
@="   ローカル グループ ポリシーエディタ"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\014\command]
@=hex(2):6d,00,6d,00,63,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,00,53,00,79,\
  00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,\
  73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,67,00,70,00,65,00,64,00,69,00,74,\
  00,2e,00,6d,00,73,00,63,00,22,00,00,00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\015]
@="   リモートデスクトップ"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\015\command]
@="mstsc.exe"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\016]
@="   Windows Update"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\016\command]
@="control.exe /name Microsoft.WindowsUpdate"


▼ インストール場所


▼ インストール場所を レジストリエディタで開く VBScript
strParam = Trim( "HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell" )
' 無ければ、クリップボード
if strParam = "" then
	' クリップボード用
	' ※ HTA 等では直接 window.clipboardData より実行
	' ※ するように書き換える必要があります
	Set objIE = CreateObject("InternetExplorer.Application")
	objIE.Navigate("about:blank")
	Do While objIE.Busy
		' 100 ミリ秒
		Wscript.Sleep 100
	Loop
	strParam = objIE.document.parentWindow.clipboardData.GetData( "Text" ) & ""
	objIE.Quit
end if
strParam = Trim( strParam )
' 無ければ入力
if strParam = "" then
	strParam = InputBox("開く対象となるレジストリーのキーを入力して下さい")
end if
if strParam = "" then
	Wscript.Quit
end if

' レジストリ書き込み用
Set WshShell = CreateObject( "WScript.Shell" )
' WMI用
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")

' レジストリエディタが最後に開いていたキーの登録を行います
strPath = "Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\LastKey"
if GetOSVersion() >= 6 then
	strRegPath = "コンピューター\" & strParam
else
	strRegPath = "マイ コンピュータ\" & strParam
end if

' 既に regedit が実行中の場合はいったん終了させます
Set colProcessList = objWMIService.ExecQuery _ 
	("Select * from Win32_Process Where Name = 'regedit.exe'") 
For Each objProcess in colProcessList
	' 最後のウインドウの位置とサイズを保存する為の終わらせ方
	WshShell.AppActivate("レジストリ エディタ")
	Wscript.Sleep(500)
	WshShell.SendKeys ("%{F4}")
	Wscript.Sleep(500)
	' 上記終わらせ方が失敗した時の強制終了
	on error resume next
	objProcess.Terminate() 
	on error goto 0
Next 

WshShell.RegWrite "HKCU\" & strPath, strRegPath, "REG_SZ"

' レジストリエディタを起動します
Call WshShell.Run( "regedit.exe" )
' レジストリエディタが終わるまで待つ場合は以下のようにします
' Call WshShell.Run( "regedit.exe", , True )

REM **********************************************************
REM OS バージョンの取得
REM **********************************************************
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





posted by lightbox at 2019-01-09 11:39 | Windows | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり