SQLの窓

2025年03月23日


空の 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 2025-03-23 13:22 | Windows | このブログの読者になる | 更新情報をチェックする

2025年03月22日


Windows 機能の呼び出し

パターン

1) control.exe /name : コントロール パネル項目の正規名 2) control.exe *.cpl 3) 個別の exe 4) explorer.exe : ms-settings: URI スキーム リファレンス 5) mmc.exe 6) rundll32.exe

代表的なもの

システム 詳細情報control.exe /name Microsoft.System
デバイスマネージャcontrol.exe /name Microsoft.DeviceManager
ネットワーク接続control.exe ncpa.cpl
プログラムと機能control.exe appwiz.cpl
デスクトップアイコンの設定control.exe desk.cpl,,0
リモートデスクトップの設定SystemPropertiesRemote.exe
システムのプロパティの詳細設定タブSystemPropertiesAdvanced.exe
コンピューターの管理CompMgmtLauncher.exe
リモートデスクトップmstsc.exe
Windows Updateexplorer.exe ms-settings:windowsupdate
ファイアーウォールとネットワーク保護explorer.exe windowsdefender://network/
ファイアーウォール詳細mmc.exe wf.msc
イベントビュアーmmc.exe eventvwr.msc /s
タスクスケジューラmmc.exe taskschd.msc /s
サービスmmc.exe services.msc /s
ローカル グループ ポリシーエディタmmc.exe gpedit.msc
ファイル名を指定して実行rundll32.exe shell32.dll,#61
ネットワークドライブの割当てrundll32.exe shell32.dll,SHHelpShortcuts_RunDLL Connect
フォルダオプションrundll32.exe shell32.dll,Options_RunDLL 7




posted by lightbox at 2025-03-22 19:24 | Windows | このブログの読者になる | 更新情報をチェックする

2025年03月21日


Windows : shell:sendto は、sendto だけで開くようです。

正式な文書はついに見つけられませんでした。



結局、『ファイル名を指定して実行』では、shell:sendto しか動きませんが、エクスプローラのアドレスバーでは、sendto のみで、『送る』フォルダを開く事ができます。

shell: で使える文字列の一覧が見れるサイト

Shell コマンドで開く特殊フォルダー一覧

実際使えそうなのは数えるほど(深い階層で短い名前で無いと意味が無い)ですが、何かの時に使えると思います( ショートカットのリンクには使えません )

shell:Recent
shell:Startup


似たような処理は %環境変数% 

例えば、%TEMP% でテンポラリフォルダを開く事ができます




posted by lightbox at 2025-03-21 23:22 | Windows | このブログの読者になる | 更新情報をチェックする

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

直接実行できる HTA にしました。また、現在でも重要なコマンドは背景を pink にしています。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<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 2025-03-21 16:48 | Windows | このブログの読者になる | 更新情報をチェックする

URI スキーム : Windows Update 画面を表示するコマンド

その他の URI スキーム一覧はこちらにあります

ファイル名を指定して実行より
ms-settings:windowsupdate
( Windowsキ− + R で ファイル名を指定して実行 )

コマンドプロンプトから実行する場合
start ms-settings:windowsupdate

これは、ms-settings: URI スキーム による設定アプリの起動方法です。

Windows のショートカット一覧はこちらにあります

▼ control.exe を使用する
ファイル名を指定して実行より
control.exe /name Microsoft.WindowsUpdate



posted by lightbox at 2025-03-21 01:35 | 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 | このブログの読者になる | 更新情報をチェックする
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 終わり
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。