<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:itunes="http://www.itunes.com/DTDs/Podcast-1.0.dtd">
  <channel>
    <title>logical　error</title>
    <link>https://logicalerror.seesaa.net/</link>
    <description>トラブルやその回避方法や最適化、さらにプログラミングの為の優良情報</description>
    <language>ja</language>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <itunes:subtitle></itunes:subtitle>
    <itunes:summary>トラブルやその回避方法や最適化、さらにプログラミングの為の優良情報</itunes:summary>
    <itunes:keywords>プログラミング,WEB,JavaScript,PHP,VBScript,logical,logic,error,ロジカル,ロジック,エラー,論理,トラブル,最適化</itunes:keywords>
    
    <itunes:author>lightbox</itunes:author>
    <itunes:owner>    
       <itunes:name></itunes:name>
       <itunes:email></itunes:email>
    </itunes:owner>
        <itunes:explicit>no</itunes:explicit>
        <item>
      <link>https://logicalerror.seesaa.net/article/512517059.html</link>
      <title>階層を指定して Googleのドメイン内検索を実行</title>
      <pubDate>Mon, 24 Mar 2025 23:06:11 +0900</pubDate>
            <description>ドメイン内検索切り替えボタンをクリックすると、表示されているページの階層を移動して検索する対象を絞り込む事ができます。以下、Google のヘルプの引用ですsite:検索キーワード特定のウェブサイトから多くの検索結果を得たい場合は、検索キーワードに「site:」を追加します。たとえば、ニューヨーク タイムズ ウェブサイトの「オリンピック」に言及したすべての記事を検索するには、次のように指定します:「オリンピック site:nytimes.com」ヒント: 「.org」や「.e..</description>
            <itunes:summary><![CDATA[

<img src="https://lh4.googleusercontent.com/-IYu9rUX6wPo/UFLD_7duWdI/AAAAAAAAIrs/UYH7xihPSMU/s600/_img.png" />

<img src="https://lh3.googleusercontent.com/-6izw_O58Gf0/VYLX_fapd6I/AAAAAAAAayo/VNbaQOEFRxQ/s400/001.png">

<a href="javascript:var%20wnd=document.createElement(&#39;iframe&#39;);wnd.setAttribute(&#39;id&#39;,&#39;if&#39;);wnd.frameBorder=0;document.body.appendChild(wnd);wnd.contentWindow.document.write(&#39;&lt;script src=\&#39;https://winofsql.jp/gds2.js\&#39; charset=\&#39;shift_jis\&#39;&gt;&lt;/script&gt;&#39;)">ドメイン内検索</a>


切り替えボタンをクリックすると、表示されているページの階層を移動して検索する対象を絞り込む事ができます。

以下、<a href="https://support.google.com/websearch/answer/136861?hl=ja&amp;ref_topic=3081620" target="_blank">Google のヘルプ</a>の引用です

site:検索キーワード

特定のウェブサイトから多くの検索結果を得たい場合は、検索キーワードに「site:」を追加します。たとえば、ニューヨーク タイムズ ウェブサイトの「オリンピック」に言及したすべての記事を検索するには、次のように指定します:「オリンピック site:nytimes.com」ヒント: 「.org」や「.edu」などのトップレベル ドメイン、または「.de」や「.jp」などの国のトップレベル ドメインを指定して検索することもできます。「オリンピック site:.gov」





<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<pre>
<img src="https://lh4.googleusercontent.com/-IYu9rUX6wPo/UFLD_7duWdI/AAAAAAAAIrs/UYH7xihPSMU/s600/_img.png" style="border: solid 1px #000000" />
</pre>
<img src="https://lh3.googleusercontent.com/-6izw_O58Gf0/VYLX_fapd6I/AAAAAAAAayo/VNbaQOEFRxQ/s400/001.png" style="border: solid 0px #000000;box-shadow:none;">
<div id="bm" style='margin-left:160px;'>
<a class="bookmarklet" href="javascript:var%20wnd=document.createElement('iframe');wnd.setAttribute('id','if');wnd.frameBorder=0;document.body.appendChild(wnd);wnd.contentWindow.document.write('<script src=\'https://winofsql.jp/gds2.js\' charset=\'shift_jis\'></script>')">ドメイン内検索</a>
</div>
<pre>
切り替えボタンをクリックすると、表示されているページの階層を移動して検索する対象を絞り込む事ができます。

以下、<a href="https://support.google.com/websearch/answer/136861?hl=ja&ref_topic=3081620" target="_blank">Google のヘルプ</a>の引用です
<pre class="this bd">
<strong><span style="color:#CB3232;">site:検索キーワード</span></strong>

特定のウェブサイトから多くの検索結果を得たい場合は、検索キーワードに「site:」を追加します。たとえば、ニューヨーク タイムズ ウェブサイトの「オリンピック」に言及したすべての記事を検索するには、次のように指定します:「オリンピック site:nytimes.com」ヒント: 「.org」や「.edu」などのトップレベル ドメイン、または「.de」や「.jp」などの国のトップレベル ドメインを指定して検索することもできます。「オリンピック site:.gov」
</pre>




</pre><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>ブックマークレット</category>
      <author>lightbox</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,logicalerror/512517059</guid>
                </item>
        <item>
      <link>https://logicalerror.seesaa.net/article/125287310.html</link>
      <title>空の zip ファイル / VBScript で作成可能</title>
      <pubDate>Sun, 23 Mar 2025 13:22:15 +0900</pubDate>
            <description>「新規作成」は、レジストリに登録されていますフォルダ内で、右クリックすると表示されるポップアップメニューには「新規作成」というメニューがありますが、これは、Windows Shell 仕様に従ってレジストリに登録された情報を元に作成されています。この中で「圧縮 (zip形式) フォルダ」とあるメニューを実行すると、空の zip ファイルが作成されます。これをダンプすると以下のような内容になっています          0  1  2  3  4  5  6  7  8  9 ..</description>
            <itunes:summary><![CDATA[

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

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

<img src="https://winofsql.jp/image/a/empty_zip.png" />

この中で「圧縮 (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
<img src="https://winofsql.jp/image/a/empty_zip_reg.png" />

Data という名前で登録されているデータが作成されるようになっています。この仕様は<a href="https://docs.microsoft.com/en-us/windows/desktop/shell/context-menu-handlers#extending-a-new-submenu" target="_blank">こちら(英文)から</a>確認できます

さらに、この空のzip書庫は、以下のようにしてスクリプトで作成する事もできます



 
 
 

Set Fso = CreateObject( "Scripting.FileSystemObject" )
Set Handle = Fso.CreateTextFile( "empty.zip", True )
EmptyData = Chr(&amp;H50) &amp; Chr(&amp;H4B) &amp; Chr(&amp;H5) &amp; Chr(&amp;H6)
EmptyData = EmptyData &amp; String( 18, Chr(0) )
Handle.Write EmptyData
Handle.Close








<b>関連する情報</b>

<a href="http://www.pkware.com/documents/casestudies/APPNOTE.TXT" target="_blank">.ZIP File Format Specification( 仕様 )</a>





<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<pre>
<b class="sttl" >「新規作成」は、レジストリに登録されています</b>

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

<img src="https://winofsql.jp/image/a/empty_zip.png" style="border: solid 1px #000000" />

この中で「圧縮 (zip形式) フォルダ」とあるメニューを実行すると、空の zip ファイルが作成されます。これをダンプすると以下のような内容になっています
</pre>
<PRE style='width:600px;font-family:"ＭＳ ゴシック"!important;background-color:white;border-style:solid;border-width:1'>
          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     後続するコメントの長さ
</PRE>
<pre class=w6>
結構単純なデータですが、これは以下のようなレジストリデータとして直接データが登録されています。

<strong>コンピューター\HKEY_CLASSES_ROOT\.zip\CompressedFolder\ShellNew</strong>
<img src="https://winofsql.jp/image/a/empty_zip_reg.png" style="border: solid 0px #000000" />

Data という名前で登録されているデータが作成されるようになっています。この仕様は<a href="https://docs.microsoft.com/en-us/windows/desktop/shell/context-menu-handlers#extending-a-new-submenu" target="_blank">こちら(英文)から</a>確認できます

さらに、<strong>この空のzip書庫</strong>は、以下のようにしてスクリプトで作成する事もできます
</pre>

<div id="sh_5c80978f296e8" class="scroll">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_5c80978f296e8 .syntaxhighlighter div,#sh_5c80978f296e8 .syntaxhighlighter span,#sh_5c80978f296e8 .syntaxhighlighter code { 
	font-size:16px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div class="srcunit"> 
<pre data-name="code190307130119" class="brush:vbs;name:empty-zip">
Set Fso = CreateObject( "Scripting.FileSystemObject" )
Set Handle = Fso.CreateTextFile( "empty.zip", True )
EmptyData = Chr(&amp;H50) &amp; Chr(&amp;H4B) &amp; Chr(&amp;H5) &amp; Chr(&amp;H6)
EmptyData = EmptyData &amp; String( 18, Chr(0) )
Handle.Write EmptyData
Handle.Close

</pre>
</div>
</div>
<script type="text/javascript">
SyntaxHighlighter.defaults['tab-size'] = 8;
dp.SyntaxHighlighter.HighlightAll("code190307130119"); 
</script>

<pre>

<b class=sttl>関連する情報</b>

<a href="http://www.pkware.com/documents/casestudies/APPNOTE.TXT" target="_blank">.ZIP File Format Specification( 仕様 )</a>




</pre>
<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Windows</category>
      <author>lightbox</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,logicalerror/125287310</guid>
                </item>
        <item>
      <link>https://logicalerror.seesaa.net/article/498023911.html</link>
      <title>Windows 機能の呼び出し</title>
      <pubDate>Sat, 22 Mar 2025 19:24:33 +0900</pubDate>
            <description>パターン1) control.exe /name : コントロール パネル項目の正規名2) control.exe *.cpl3) 個別の exe4) explorer.exe : ms-settings: URI スキーム リファレンス5) mmc.exe6) rundll32.exe代表的なものシステム 詳細情報control.exe /name Microsoft.Systemデバイスマネージャcontrol.exe /name Microsoft.DeviceMana..</description>
            <itunes:summary><![CDATA[


パターン
1) control.exe /name : <a href="https://learn.microsoft.com/ja-jp/windows/win32/shell/controlpanel-canonical-names?redirectedfrom=MSDN" target="_blank">コントロール パネル項目の正規名</a>
2) control.exe *.cpl
3) 個別の exe
4) explorer.exe : <a href="https://learn.microsoft.com/ja-jp/windows/uwp/launch-resume/launch-settings-app#ms-settings-uri-scheme-reference" target="_blank">ms-settings: URI スキーム リファレンス</a>
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













<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<!-- https://www.setrobo.jp/support/Reference/files/ShortcutCommondList_Win10.pdf -->
<pre>
<h3>パターン</h3>
1) control.exe /name : <a href="https://learn.microsoft.com/ja-jp/windows/win32/shell/controlpanel-canonical-names?redirectedfrom=MSDN" target="_blank">コントロール パネル項目の正規名</a>
2) control.exe *.cpl
3) 個別の exe
4) explorer.exe : <a href="https://learn.microsoft.com/ja-jp/windows/uwp/launch-resume/launch-settings-app#ms-settings-uri-scheme-reference" target="_blank">ms-settings: URI スキーム リファレンス</a>
5) mmc.exe
6) rundll32.exe

<h3>代表的なもの</h3>
</pre>
<style>
#t230203 td {
   vertical-align: top!important;
   font-size: 16px;
}
</style>
<table id="t230203">
<tr><td style='width:340px;'>システム 詳細情報</td><td>control.exe /name Microsoft.System</td></tr>

<tr><td>デバイスマネージャ</td><td>control.exe /name Microsoft.DeviceManager</td></tr>

<tr><td>ネットワーク接続</td><td>control.exe ncpa.cpl</td></tr>
<tr><td>プログラムと機能</td><td>control.exe appwiz.cpl</td></tr>
<tr><td>デスクトップアイコンの設定</td><td>control.exe desk.cpl,,0</td></tr>

<tr><td>リモートデスクトップの設定</td><td>SystemPropertiesRemote.exe</td></tr>
<tr><td>システムのプロパティの詳細設定タブ</td><td>SystemPropertiesAdvanced.exe</td></tr>
<tr><td>コンピューターの管理</td><td>CompMgmtLauncher.exe</td></tr>
<tr><td>リモートデスクトップ</td><td>mstsc.exe</td></tr>

<tr><td>Windows Update</td><td>explorer.exe ms-settings:windowsupdate</td></tr>
<tr><td>ファイアーウォールとネットワーク保護</td><td>explorer.exe windowsdefender://network/</td></tr>

<!--tr><td>コンピューターの管理</td><td>mmc.exe compmgmt.msc</td></tr-->
<tr><td>ファイアーウォール詳細</td><td>mmc.exe wf.msc</td></tr>
<tr><td>イベントビュアー</td><td>mmc.exe eventvwr.msc /s</td></tr>
<tr><td>タスクスケジューラ</td><td>mmc.exe taskschd.msc /s</td></tr>
<tr><td>サービス</td><td>mmc.exe services.msc /s</td></tr>
<tr><td>ローカル グループ ポリシーエディタ</td><td>mmc.exe gpedit.msc</td></tr>

<tr><td>ファイル名を指定して実行</td><td>rundll32.exe shell32.dll,#61</td></tr>
<tr><td>ネットワークドライブの割当て</td><td>rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL Connect</td></tr>
<tr><td>フォルダオプション</td><td>rundll32.exe shell32.dll,Options_RunDLL 7</td></tr>



</table>
<pre>




</pre>



<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Windows</category>
      <author>lightbox</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,logicalerror/498023911</guid>
                </item>
        <item>
      <link>https://logicalerror.seesaa.net/article/355594461.html</link>
      <title>Windows : shell:sendto は、sendto だけで開くようです。</title>
      <pubDate>Fri, 21 Mar 2025 23:22:00 +0900</pubDate>
            <description>正式な文書はついに見つけられませんでした。結局、『ファイル名を指定して実行』では、shell:sendto しか動きませんが、エクスプローラのアドレスバーでは、sendto のみで、『送る』フォルダを開く事ができます。shell: で使える文字列の一覧が見れるサイトShell コマンドで開く特殊フォルダー一覧実際使えそうなのは数えるほど(深い階層で短い名前で無いと意味が無い)ですが、何かの時に使えると思います( ショートカットのリンクには使えません )shell:Recent..</description>
            <itunes:summary><![CDATA[

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

<img src="https://winofsql.jp/image/a/2025-03-21-180934.png" />

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

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

<a href="https://winaero.com/windows-11-shell-commands-the-complete-list/" target="_blank">Shell コマンドで開く特殊フォルダー一覧</a>

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

shell:Recent
shell:Startup


<b>似たような処理は %環境変数% </b>

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

<img src="https://winofsql.jp/image/a/2025-03-21-181515.png" />


<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<pre class=w6>
正式な文書はついに見つけられませんでした。

<img src="https://winofsql.jp/image/a/2025-03-21-180934.png" style="border: solid 0px #000000" />

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

<!--b class=sttl-->shell: で使える文字列の一覧が見れるサイト</b>

<a href="https://winaero.com/windows-11-shell-commands-the-complete-list/" target="_blank">Shell コマンドで開く特殊フォルダー一覧</a>

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

shell:Recent
shell:Startup


<b class=sttl>似たような処理は %環境変数% </b>

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

<img src="https://winofsql.jp/image/a/2025-03-21-181515.png" style="border: solid 0px #000000" />


</pre><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Windows</category>
      <author>lightbox</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,logicalerror/355594461</guid>
                </item>
        <item>
      <link>https://logicalerror.seesaa.net/article/463674761.html</link>
      <title>Shell コマンドで開くフォルダ : HTA でクリックすると実行可能</title>
      <pubDate>Fri, 21 Mar 2025 16:48:59 +0900</pubDate>
            <description>直接実行できる HTA にしました。また、現在でも重要なコマンドは背景を pink にしています。   &amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;meta http-equiv=&quot;x-ua-compatible&quot; content=&quot;ie=edge&quot;&amp;gt;&amp;lt;meta http-equiv=&quot;Content-type&quot; content=&quot;text/html; charset=utf-8&quot;&amp;gt;&amp;lt;script ..</description>
            <itunes:summary><![CDATA[




<img src="https://lh3.googleusercontent.com/-EpzB1QjToxg/XD2RpptDuSI/AAAAAAAAuZM/NlI9WQJX25sSr7hKoB7rqM2JxkLrdebXQCHMYBhgL/s793/_img.png">

直接実行できる HTA にしました。また、現在でも重要なコマンドは背景を pink にしています。


 
 
 

&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="x-ua-compatible" content="ie=edge"&gt;
&lt;meta http-equiv="Content-type" content="text/html; charset=utf-8"&gt;
&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"&gt;&lt;/script&gt;
&lt;script&gt;

	// ウインドウの位置とサイズ
	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 )

}

&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;style type="text/css"&gt;
.it {
	background-color: pink;
}

#lboxtable * {
	font-family: メイリオ,'ＭＳ Ｐゴシック';
	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; */
}
&lt;/style&gt;

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


&lt;/body&gt;
&lt;/html&gt;







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

<img src="https://lh3.googleusercontent.com/-i0y6lNPKAz4/XDr-ugu0wJI/AAAAAAAAuVA/KLcJb4C4YUk_HoiquyFqgFzy5vW4B4QTwCHMYBhgL/s580/_img.png">





<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<meta name="twitter:image" content="https://lh3.googleusercontent.com/-EpzB1QjToxg/XD2RpptDuSI/AAAAAAAAuZM/NlI9WQJX25sSr7hKoB7rqM2JxkLrdebXQCHMYBhgL/s793/_img.png">
<pre>
<div class="dld" data-dld="sh_5c3d8f7566376"></div>

<img src="https://lh3.googleusercontent.com/-EpzB1QjToxg/XD2RpptDuSI/AAAAAAAAuZM/NlI9WQJX25sSr7hKoB7rqM2JxkLrdebXQCHMYBhgL/s793/_img.png" style='border:1px solid #c0c0c0;border-radius:0px'>

直接実行できる HTA にしました。また、現在でも重要なコマンドは背景を pink にしています。
</pre>
<div id="sh_5c3d8f7566376" class="scroll">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_5c3d8f7566376 .syntaxhighlighter div,#sh_5c3d8f7566376 .syntaxhighlighter span,#sh_5c3d8f7566376 .syntaxhighlighter code { 
	font-size:16px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div class="srcunit"> 
<pre data-name="code190115164453" class="brush:hta;name:open-shell-folder">
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="x-ua-compatible" content="ie=edge"&gt;
&lt;meta http-equiv="Content-type" content="text/html; charset=utf-8"&gt;
&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"&gt;&lt;/script&gt;
&lt;script&gt;

	// ウインドウの位置とサイズ
	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 )

}

&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;style type="text/css"&gt;
.it {
	background-color: pink;
}

#lboxtable * {
	font-family: メイリオ,'ＭＳ Ｐゴシック';
	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; */
}
&lt;/style&gt;

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


&lt;/body&gt;
&lt;/html&gt;

</pre>
</div>
</div>
<script type="text/javascript">
SyntaxHighlighter.defaults['tab-size'] = 8;
dp.SyntaxHighlighter.HighlightAll("code190115164453"); 
</script>
<pre>

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

<img src="https://lh3.googleusercontent.com/-i0y6lNPKAz4/XDr-ugu0wJI/AAAAAAAAuVA/KLcJb4C4YUk_HoiquyFqgFzy5vW4B4QTwCHMYBhgL/s580/_img.png" style="border:1px solid #c0c0c0;border-radius:0px">




</pre>
<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Windows</category>
      <author>lightbox</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,logicalerror/463674761</guid>
                </item>
        <item>
      <link>https://logicalerror.seesaa.net/article/456453283.html</link>
      <title>URI スキーム : Windows Update 画面を表示するコマンド</title>
      <pubDate>Fri, 21 Mar 2025 01:35:05 +0900</pubDate>
            <description>その他の URI スキーム一覧はこちらにありますファイル名を指定して実行より   ms-settings:windowsupdate( Windowsキ－ + R で ファイル名を指定して実行 )コマンドプロンプトから実行する場合   start ms-settings:windowsupdateこれは、ms-settings: URI スキーム による設定アプリの起動方法です。Windows のショートカット一覧はこちらにあります▼ control.exe を使用するファイ..</description>
            <itunes:summary><![CDATA[

<a href="https://docs.microsoft.com/ja-jp/windows/uwp/launch-resume/launch-settings-app" target="_blank">その他の URI スキーム一覧はこちらにあります</a>

ファイル名を指定して実行より


 
 
 

ms-settings:windowsupdate





( Windowsキ－ + R で ファイル名を指定して実行 )

コマンドプロンプトから実行する場合


 
 
 

start ms-settings:windowsupdate






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

<a href="https://support.microsoft.com/ja-jp/windows/windows-%E3%81%AE%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89-%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88-dcc61a57-8ff0-cffe-9796-cb9706c75eec" target="_blank">Windows のショートカット一覧</a>はこちらにあります

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


 
 
 

control.exe /name Microsoft.WindowsUpdate








<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<pre>
<a href="https://docs.microsoft.com/ja-jp/windows/uwp/launch-resume/launch-settings-app" target="_blank">その他の URI スキーム一覧はこちらにあります</a>

<strong>ファイル名を指定して実行より</strong>
</pre>
<div id="sh_5ebd4d017f928" class="scroll">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_5ebd4d017f928 .syntaxhighlighter div,#sh_5ebd4d017f928 .syntaxhighlighter span,#sh_5ebd4d017f928 .syntaxhighlighter code { 
	font-size:26px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div class="srcunit"> 
<pre data-name="code200514225201" class="brush:txt">
ms-settings:windowsupdate
</pre>
</div>
</div>
<script type="text/javascript">
SyntaxHighlighter.defaults['tab-size'] = 8;
dp.SyntaxHighlighter.HighlightAll("code200514225201"); 
</script>
<pre>
( Windowsキ－ + R で ファイル名を指定して実行 )

コマンドプロンプトから実行する場合
</pre>
<div id="sh_5ebd4d1e299f5" class="scroll">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_5ebd4d1e299f5 .syntaxhighlighter div,#sh_5ebd4d1e299f5 .syntaxhighlighter span,#sh_5ebd4d1e299f5 .syntaxhighlighter code { 
	font-size:26px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div class="srcunit"> 
<pre data-name="code200514225230" class="brush:txt">
start ms-settings:windowsupdate
</pre>
</div>
</div>
<script type="text/javascript">
SyntaxHighlighter.defaults['tab-size'] = 8;
dp.SyntaxHighlighter.HighlightAll("code200514225230"); 
</script>
<pre>

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

<a href="https://support.microsoft.com/ja-jp/windows/windows-%E3%81%AE%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89-%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88-dcc61a57-8ff0-cffe-9796-cb9706c75eec" target="_blank">Windows のショートカット一覧</a>はこちらにあります

▼ control.exe を使用する
<strong>ファイル名を指定して実行より</strong>
</pre>
<div id="sh_5ebd4da6ac8c4" class="scroll">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_5ebd4da6ac8c4 .syntaxhighlighter div,#sh_5ebd4da6ac8c4 .syntaxhighlighter span,#sh_5ebd4da6ac8c4 .syntaxhighlighter code { 
	font-size:26px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div class="srcunit"> 
<pre data-name="code200514225446" class="brush:txt">
control.exe /name Microsoft.WindowsUpdate
</pre>
</div>
</div>
<script type="text/javascript">
SyntaxHighlighter.defaults['tab-size'] = 8;
dp.SyntaxHighlighter.HighlightAll("code200514225446"); 
</script>
<pre>



</pre><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Windows</category>
      <author>lightbox</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,logicalerror/456453283</guid>
                </item>
        <item>
      <link>https://logicalerror.seesaa.net/article/504277539.html</link>
      <title>SQLServer の BCP で INT IDENTITY 列に csv からリストアする</title>
      <pubDate>Thu, 08 Aug 2024 11:20:41 +0900</pubDate>
            <description>bcp ユーティリティにおいて、-E オプションで可能になります。▼ -E の説明インポートしたデータ ファイルの ID 値 (複数可) を ID 列に使用することを指定します。 -E を指定しない場合、インポートされるデータ ファイルのこの列の ID 値は無視され、SQL Server はテーブルの作成時に指定されたシードと増分の値に基づいて、一意の値を自動的に割り当てます。出力   bcp.exe DB名..[出力テーブル名] out &quot;c:\TMP\data.csv&quot; ..</description>
            <itunes:summary><![CDATA[

<a href="https://learn.microsoft.com/ja-jp/sql/tools/bcp-utility?view=sql-server-ver16&amp;tabs=windows" target="_blank">bcp ユーティリティ</a>において、-E オプションで可能になります。

▼ -E の説明
インポートしたデータ ファイルの ID 値 (複数可) を ID 列に使用することを指定します。 -E を指定しない場合、インポートされるデータ ファイルのこの列の ID 値は無視され、SQL Server はテーブルの作成時に指定されたシードと増分の値に基づいて、一意の値を自動的に割り当てます。

<b>出力</b>


 
 
 

bcp.exe DB名..[出力テーブル名] out "c:\TMP\data.csv" -c -t , -U sa -P






<b>入力</b>


 
 
 

bcp.exe DB名..[入力テーブル名] in "c:\TMP\data.csv" -e "c:\TMP\error.log" -c -t , -E -U sa -P






この環境では、パスワードは空文字です。
データにカンマが含まれる場合は、区切り文字を変更します。( -t , )






<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<pre>
<a href="https://learn.microsoft.com/ja-jp/sql/tools/bcp-utility?view=sql-server-ver16&tabs=windows" target="_blank">bcp ユーティリティ</a>において、-E オプションで可能になります。

▼ -E の説明
インポートしたデータ ファイルの ID 値 (複数可) を ID 列に使用することを指定します。 -E を指定しない場合、インポートされるデータ ファイルのこの列の ID 値は無視され、SQL Server はテーブルの作成時に指定されたシードと増分の値に基づいて、一意の値を自動的に割り当てます。

<b class="sttl">出力</b>
</pre>
<div id="sh_66b42b30c2a6a" class="scroll">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_66b42b30c2a6a .syntaxhighlighter div,#sh_66b42b30c2a6a .syntaxhighlighter span,#sh_66b42b30c2a6a .syntaxhighlighter code { 
	font-size:16px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div class="srcunit"> 
<pre data-name="code240808111928" class="brush:txt">
bcp.exe DB名..[出力テーブル名] out "c:\TMP\data.csv" -c -t , -U sa -P
</pre>
</div>
</div>
<script type="text/javascript">
SyntaxHighlighter.defaults['tab-size'] = 8;
dp.SyntaxHighlighter.HighlightAll("code240808111928"); 
</script>
<pre>

<b class="sttl">入力</b>
</pre>
<div id="sh_66b42b6d65023" class="scroll">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_66b42b6d65023 .syntaxhighlighter div,#sh_66b42b6d65023 .syntaxhighlighter span,#sh_66b42b6d65023 .syntaxhighlighter code { 
	font-size:16px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div class="srcunit"> 
<pre data-name="code240808112029" class="brush:txt">
bcp.exe DB名..[入力テーブル名] in "c:\TMP\data.csv" -e "c:\TMP\error.log" -c -t , -E -U sa -P
</pre>
</div>
</div>
<script type="text/javascript">
SyntaxHighlighter.defaults['tab-size'] = 8;
dp.SyntaxHighlighter.HighlightAll("code240808112029"); 
</script>

<pre>
<strong>この環境では、パスワードは空文字です。</strong>
データにカンマが含まれる場合は、区切り文字を変更します。( -t , )



</pre>


<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>SQLExpress</category>
      <author>lightbox</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,logicalerror/504277539</guid>
                </item>
        <item>
      <link>https://logicalerror.seesaa.net/article/504254087.html</link>
      <title>MySQL に PIPES_AS_CONCAT を設定して、CSV を出力する SQL</title>
      <pubDate>Tue, 06 Aug 2024 09:50:05 +0900</pubDate>
            <description>Windows で、XAMPP を使用している場合、my.ini がありますが、その中の設定で sql_mode と言うエントリがあるので、そこに PIPES_AS_CONCAT を追加します。   sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCATそのうえで、以下のような SQL を作成して実行します。   select社員コード||&#39;,&#39;||氏名||&#39;,&#39;||フリガナ||..</description>
            <itunes:summary><![CDATA[

Windows で、XAMPP を使用している場合、my.ini がありますが、その中の設定で sql_mode と言うエントリがあるので、そこに PIPES_AS_CONCAT を追加します。


 
 
 

sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT





そのうえで、以下のような SQL を作成して実行します。


 
 
 

select

社員コード||','||氏名||','||フリガナ||','||所属||','||性別||','||作成日||','||更新日||','||給与||','||手当||','||管理者||','||生年月日 from 社員マスタ

into OUTFILE 'C:\\TEMP\\syain.csv'





※ データ内に NULL 値が無いようにする必要があります( または SQL で関数を使うか )
※ csv の二度目の上書きはできません


<b>関連する記事</b>

<a href="https://logicalerror.seesaa.net/article/228394735.html" target="_blank">PL/SQL : 最も簡単な CSV 出力 の記述</a>




<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<pre>
Windows で、XAMPP を使用している場合、my.ini がありますが、その中の設定で sql_mode と言うエントリがあるので、そこに PIPES_AS_CONCAT を追加します。
</pre>
<div id="sh_66b172aaa6edd" class="scroll">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_66b172aaa6edd .syntaxhighlighter div,#sh_66b172aaa6edd .syntaxhighlighter span,#sh_66b172aaa6edd .syntaxhighlighter code { 
	font-size:16px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div class="srcunit"> 
<pre data-name="code240806094738" class="brush:txt">
sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT
</pre>
</div>
</div>
<script type="text/javascript">
SyntaxHighlighter.defaults['tab-size'] = 8;
dp.SyntaxHighlighter.HighlightAll("code240806094738"); 
</script>
<pre>
そのうえで、以下のような SQL を作成して実行します。
</pre>
<div id="sh_66b172e80afa3" class="scroll">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_66b172e80afa3 .syntaxhighlighter div,#sh_66b172e80afa3 .syntaxhighlighter span,#sh_66b172e80afa3 .syntaxhighlighter code { 
	font-size:16px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div class="srcunit"> 
<pre data-name="code240806094840" class="brush:sql">
select

社員コード||','||氏名||','||フリガナ||','||所属||','||性別||','||作成日||','||更新日||','||給与||','||手当||','||管理者||','||生年月日 from 社員マスタ

into OUTFILE 'C:\\TEMP\\syain.csv'
</pre>
</div>
</div>
<script type="text/javascript">
SyntaxHighlighter.defaults['tab-size'] = 8;
dp.SyntaxHighlighter.HighlightAll("code240806094840"); 
</script>
<pre>
<strong><span style="color:#cc0000;">※ データ内に NULL 値が無いようにする必要があります( または SQL で関数を使うか )
※ csv の二度目の上書きはできません
</span></strong>

<b class=sttl>関連する記事</b>

<a href="https://logicalerror.seesaa.net/article/228394735.html" target="_blank">PL/SQL : 最も簡単な CSV 出力 の記述</a>


</pre>

<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>MySQL</category>
      <author>lightbox</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,logicalerror/504254087</guid>
                </item>
        <item>
      <link>https://logicalerror.seesaa.net/article/504253594.html</link>
      <title>Chrome ポリシー : レジストリ : ( ChatGPT 解説 )</title>
      <pubDate>Tue, 06 Aug 2024 08:38:10 +0900</pubDate>
            <description>以下のレジストリの効果を解説してください   [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]&quot;ShowHomeButton&quot;=dword:00000001&quot;AutofillAddressEnabled&quot;=dword:00000000&quot;HomepageLocation&quot;=&quot;https://www.google.com/&quot;&quot;BrowserThemeColor&quot;=&quot;#FFFFFF&quot;&quot;PromptForDownloadLoca..</description>
            <itunes:summary><![CDATA[

以下のレジストリの効果を解説してください


 
 
 

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]
"ShowHomeButton"=dword:00000001
"AutofillAddressEnabled"=dword:00000000
"HomepageLocation"="https://www.google.com/"
"BrowserThemeColor"="#FFFFFF"
"PromptForDownloadLocation"=dword:00000001
"AutofillCreditCardEnabled"=dword:00000000
"ShowAppsShortcutInBookmarkBar"=dword:00000000
"HomepageIsNewTabPage"=dword:00000000
"PasswordManagerEnabled"=dword:00000000
"TaskManagerEndProcessEnabled"=dword:00000001
"TranslateEnabled"=dword:00000001
"BrowserAddPersonEnabled"=dword:00000000
"NTPCustomBackgroundEnabled"=dword:00000000






このレジストリキーと値は、Google Chromeの特定の機能の動作を制御するためのものです。それぞれの値の意味を以下に説明します。


ShowHomeButton
ホームボタンをブラウザのツールバーに表示するかどうかを指定します。dword:00000001 はホームボタンが表示されることを意味します。

AutofillAddressEnabled
自動入力機能で住所の自動入力が有効かどうかを指定します。dword:00000000 は無効であることを示します。

HomepageLocation
ホームボタンをクリックしたときに開かれるホームページのURLを指定します。ここでは https://www.google.com/ です。

BrowserThemeColor
ブラウザのテーマカラーを指定します。#FFFFFF は白色です。

PromptForDownloadLocation
ダウンロードするファイルの保存場所を指定するようにユーザーにプロンプトを表示するかどうかを指定します。dword:00000001 はプロンプトを表示することを意味します。

AutofillCreditCardEnabled
自動入力機能でクレジットカードの自動入力が有効かどうかを指定します。dword:00000000 は無効であることを示します。

ShowAppsShortcutInBookmarkBar
ブックマークバーにアプリのショートカットを表示するかどうかを指定します。dword:00000000 は表示されないことを意味します。

HomepageIsNewTabPage
ホームページが新しいタブページであるかどうかを指定します。dword:00000000 は新しいタブページではないことを意味します。

PasswordManagerEnabled
パスワードマネージャーが有効かどうかを指定します。dword:00000000 は無効であることを意味します。

TaskManagerEndProcessEnabled
タスクマネージャーでプロセスを終了する機能が有効かどうかを指定します。dword:00000001 は有効であることを意味します。

TranslateEnabled
翻訳機能が有効かどうかを指定します。dword:00000001 は有効であることを意味します。

BrowserAddPersonEnabled
ブラウザで新しいユーザープロファイルを追加できるかどうかを指定します。dword:00000000 は追加できないことを意味します。

NTPCustomBackgroundEnabled
新しいタブページでカスタム背景画像が使用できるかどうかを指定します。dword:00000000 は使用できないことを意味します。



これらの設定により、特定の機能がユーザーの希望やポリシーに応じて有効または無効にされます。





<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<pre>
以下のレジストリの効果を解説してください
</pre>
<div id="sh_66b160d37b8dd" class="scroll">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_66b160d37b8dd .syntaxhighlighter div,#sh_66b160d37b8dd .syntaxhighlighter span,#sh_66b160d37b8dd .syntaxhighlighter code { 
	font-size:16px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div class="srcunit"> 
<pre data-name="code240806083131" class="brush:reg">
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]
"ShowHomeButton"=dword:00000001
"AutofillAddressEnabled"=dword:00000000
"HomepageLocation"="https://www.google.com/"
"BrowserThemeColor"="#FFFFFF"
"PromptForDownloadLocation"=dword:00000001
"AutofillCreditCardEnabled"=dword:00000000
"ShowAppsShortcutInBookmarkBar"=dword:00000000
"HomepageIsNewTabPage"=dword:00000000
"PasswordManagerEnabled"=dword:00000000
"TaskManagerEndProcessEnabled"=dword:00000001
"TranslateEnabled"=dword:00000001
"BrowserAddPersonEnabled"=dword:00000000
"NTPCustomBackgroundEnabled"=dword:00000000
</pre>
</div>
</div>
<script type="text/javascript">
SyntaxHighlighter.defaults['tab-size'] = 8;
dp.SyntaxHighlighter.HighlightAll("code240806083131"); 
</script>
<pre>
</pre>
<li>このレジストリキーと値は、Google Chromeの特定の機能の動作を制御するためのものです。それぞれの値の意味を以下に説明します。</li>
<ol>

<li><strong>ShowHomeButton</strong><br>
ホームボタンをブラウザのツールバーに表示するかどうかを指定します。dword:00000001 はホームボタンが表示されることを意味します。</li>

<li><strong>AutofillAddressEnabled</strong><br>
自動入力機能で住所の自動入力が有効かどうかを指定します。dword:00000000 は無効であることを示します。</li>

<li><strong>HomepageLocation</strong><br>
ホームボタンをクリックしたときに開かれるホームページのURLを指定します。ここでは https://www.google.com/ です。</li>

<li><strong>BrowserThemeColor</strong><br>
ブラウザのテーマカラーを指定します。#FFFFFF は白色です。</li>

<li><strong>PromptForDownloadLocation</strong><br>
ダウンロードするファイルの保存場所を指定するようにユーザーにプロンプトを表示するかどうかを指定します。dword:00000001 はプロンプトを表示することを意味します。</li>

<li><strong>AutofillCreditCardEnabled</strong><br>
自動入力機能でクレジットカードの自動入力が有効かどうかを指定します。dword:00000000 は無効であることを示します。</li>

<li><strong>ShowAppsShortcutInBookmarkBar</strong><br>
ブックマークバーにアプリのショートカットを表示するかどうかを指定します。dword:00000000 は表示されないことを意味します。</li>

<li><strong>HomepageIsNewTabPage</strong><br>
ホームページが新しいタブページであるかどうかを指定します。dword:00000000 は新しいタブページではないことを意味します。</li>

<li><strong>PasswordManagerEnabled</strong><br>
パスワードマネージャーが有効かどうかを指定します。dword:00000000 は無効であることを意味します。</li>

<li><strong>TaskManagerEndProcessEnabled</strong><br>
タスクマネージャーでプロセスを終了する機能が有効かどうかを指定します。dword:00000001 は有効であることを意味します。</li>

<li><strong>TranslateEnabled</strong><br>
翻訳機能が有効かどうかを指定します。dword:00000001 は有効であることを意味します。</li>

<li><strong>BrowserAddPersonEnabled</strong><br>
ブラウザで新しいユーザープロファイルを追加できるかどうかを指定します。dword:00000000 は追加できないことを意味します。</li>

<li><strong>NTPCustomBackgroundEnabled</strong><br>
新しいタブページでカスタム背景画像が使用できるかどうかを指定します。dword:00000000 は使用できないことを意味します。</li>

</ol>

<li>これらの設定により、特定の機能がユーザーの希望やポリシーに応じて有効または無効にされます。</li>
<pre>



</pre>
<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Google Chrome</category>
      <author>lightbox</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,logicalerror/504253594</guid>
                </item>
        <item>
      <link>https://logicalerror.seesaa.net/article/228394735.html</link>
      <title>PL/SQL : 最も簡単な CSV 出力 の記述</title>
      <pubDate>Tue, 06 Aug 2024 00:18:12 +0900</pubDate>
            <description>CSV イメージを最初から SQL で作成しておいて、取りだすデータが 1つの列にしておく事で高速な処理が可能になります   CREATE OR REPLACE PROCEDURE LIST_MEMBER(	/* カーソルの範囲指定用  */	PM_STRING IN VARCHAR2)/**********************************************************//* 変数の定義 *//************************..</description>
            <itunes:summary><![CDATA[

CSV イメージを最初から SQL で作成しておいて、取りだすデータが 1つの列にしておく事で高速な処理が可能になります


 
 
 

CREATE OR REPLACE PROCEDURE LIST_MEMBER
(
	/* カーソルの範囲指定用  */
	PM_STRING IN VARCHAR2
)

/**********************************************************/
/* 変数の定義 */
/**********************************************************/
AS
	WK_VALUE	VARCHAR2(2000);

	/* カーソルの定義(主に複数読み込み用)  */
	CURSOR cur_main IS
		SELECT
			社員コード||','||
			氏名||','||
			フリガナ||','||
			所属||','||
			性別||','||
			作成日||','||
			更新日||','||
			給与||','||
			手当||','||
			管理者||','||
			生年月日
			from "社員マスタ"
		where 社員コード &lt;= PM_STRING;

	-- ディスクへ書き込むファイル名
	WK_FILENAME VARCHAR2(100) := 'syain.csv';
	-- ファイルにアクセスする為のハンドルの定義
	FILEHANDLE UTL_FILE.FILE_TYPE;

/**********************************************************/
/* 処理開始 */
/**********************************************************/
BEGIN
	DBMS_OUTPUT.PUT_LINE('デバッグ:開始');
	DBMS_OUTPUT.PUT_LINE('デバッグ:引数:'||PM_STRING);

	/* カーソルを開く */
	OPEN cur_main;

	-- 第一引数は、ディレクトリオブジェクトの名称( 但し文字列 )
	FILEHANDLE := UTL_FILE.FOPEN( 'MYDIR', WK_FILENAME, 'w' );

	/* ループ処理(ブロック) */
	LOOP 
		/* 定義したレコード変数に読み込み */
		FETCH cur_main INTO WK_VALUE;
		/* カーソルに対するシステム変数でデータ終わりを判断 */
		if cur_main%NOTFOUND then 
			/* ループ処理を脱出 */
			EXIT; 
		end if; 

		-- 書き込み
		UTL_FILE.PUT_LINE(FILEHANDLE,WK_VALUE);
	 
	END LOOP; 

	-- ファイルを閉じる
	UTL_FILE.FCLOSE( FILEHANDLE );

	/* カーソルを閉じる */
	CLOSE cur_main;

/**********************************************************/
/* 一番外側のブロックの例外処理 */
/**********************************************************/
$if 1=1 $then
EXCEPTION
	WHEN OTHERS THEN
		DBMS_OUTPUT.PUT_LINE('例外発生:'||SQLCODE||':'||SQLERRM);
$end
END;










<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<pre>
CSV イメージを最初から SQL で作成しておいて、取りだすデータが 1つの列にしておく事で高速な処理が可能になります
</pre>
<div id="sh_5b065b4821211">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_5b065b4821211 .syntaxhighlighter div,#sh_5b065b4821211 .syntaxhighlighter span,#sh_5b065b4821211 .syntaxhighlighter code { 
	font-size:16px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div> 
<pre data-name="code180524152720" class="brush:sql">
CREATE OR REPLACE PROCEDURE LIST_MEMBER
(
	/* カーソルの範囲指定用  */
	PM_STRING IN VARCHAR2
)

/**********************************************************/
/* 変数の定義 */
/**********************************************************/
AS
	WK_VALUE	VARCHAR2(2000);

	/* カーソルの定義(主に複数読み込み用)  */
	CURSOR cur_main IS
		SELECT
			社員コード||','||
			氏名||','||
			フリガナ||','||
			所属||','||
			性別||','||
			作成日||','||
			更新日||','||
			給与||','||
			手当||','||
			管理者||','||
			生年月日
			from "社員マスタ"
		where 社員コード &lt;= PM_STRING;

	-- ディスクへ書き込むファイル名
	WK_FILENAME VARCHAR2(100) := 'syain.csv';
	-- ファイルにアクセスする為のハンドルの定義
	FILEHANDLE UTL_FILE.FILE_TYPE;

/**********************************************************/
/* 処理開始 */
/**********************************************************/
BEGIN
	DBMS_OUTPUT.PUT_LINE('デバッグ:開始');
	DBMS_OUTPUT.PUT_LINE('デバッグ:引数:'||PM_STRING);

	/* カーソルを開く */
	OPEN cur_main;

	-- 第一引数は、ディレクトリオブジェクトの名称( 但し文字列 )
	FILEHANDLE := UTL_FILE.FOPEN( 'MYDIR', WK_FILENAME, 'w' );

	/* ループ処理(ブロック) */
	LOOP 
		/* 定義したレコード変数に読み込み */
		FETCH cur_main INTO WK_VALUE;
		/* カーソルに対するシステム変数でデータ終わりを判断 */
		if cur_main%NOTFOUND then 
			/* ループ処理を脱出 */
			EXIT; 
		end if; 

		-- 書き込み
		UTL_FILE.PUT_LINE(FILEHANDLE,WK_VALUE);
	 
	END LOOP; 

	-- ファイルを閉じる
	UTL_FILE.FCLOSE( FILEHANDLE );

	/* カーソルを閉じる */
	CLOSE cur_main;

/**********************************************************/
/* 一番外側のブロックの例外処理 */
/**********************************************************/
$if 1=1 $then
EXCEPTION
	WHEN OTHERS THEN
		DBMS_OUTPUT.PUT_LINE('例外発生:'||SQLCODE||':'||SQLERRM);
$end
END;
</pre>
</div>
</div>
<script type="text/javascript">
dp.SyntaxHighlighter.HighlightAll("code180524152720"); 
</script>

<pre>




</pre><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Oracle : PL/SQL</category>
      <author>lightbox</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,logicalerror/228394735</guid>
                </item>
        <item>
      <link>https://logicalerror.seesaa.net/article/118955741.html</link>
      <title>VBScript を『管理者として実行する』には、Shell の runas ( 右クリックメニューの実行と同等 ) で実現します / Jscript も追加</title>
      <pubDate>Mon, 05 Aug 2024 12:10:15 +0900</pubDate>
            <description>VBScript を『管理者として実行する』には、以下の内容ををスクリプトの先頭に記述します〓 VBScript   Set obj = Wscript.CreateObject(&quot;Shell.Application&quot;)if Wscript.Arguments.Count = 0 then	obj.ShellExecute &quot;wscript.exe&quot;, WScript.ScriptFullName &amp;amp; &quot; runas&quot;, &quot;&quot;, &quot;runas&quot;, 1	Wscript...</description>
            <itunes:summary><![CDATA[

VBScript を『管理者として実行する』には、以下の内容ををスクリプトの先頭に記述します


〓 VBScript

 
 
 

Set obj = Wscript.CreateObject("Shell.Application")
if Wscript.Arguments.Count = 0 then
	obj.ShellExecute "wscript.exe", WScript.ScriptFullName &amp; " runas", "", "runas", 1
	Wscript.Quit
end if

Wscript.Echo "ここは管理者権限で実行されます"






〓 Jscript
※ Jscript は <a href="https://learn.microsoft.com/ja-jp/previous-versions/windows/scripting/cc364475(v=msdn.10)?redirectedfrom=MSDN" target="_blank">WScript</a> 等、大文字小文字の区別があるので注意です。


 
 
 

var obj = new ActiveXObject("Shell.Application");
if ( WScript.Arguments.length == 0 ) {
	obj.ShellExecute( "wscript.exe", WScript.ScriptFullName + " runas", "", "runas", 1 );
	WScript.Quit();
}

WScript.Echo( "ここは管理者権限で実行されます" );






<a href="https://msdn.microsoft.com/en-us/library/gg537745.aspx" target="_blank">Shell.ShellExecute method</a>

これは、VBScript から利用可能な <a href="https://docs.microsoft.com/ja-jp/windows/win32/shell/shell" target="_blank">Shell</a> の機能を使って、右クリックメニューにある『管理者として実行』を実行する方法です。ここでは日本語では無く runas と言う文字列を使って管理者として実行させています。

但し、引数がなかった場合の処理としては処理終了します。ですからこのスクリプトでは、引数をダミーで一つセットして( この場合一つめの runas がそうです )自分自身を再度呼び出しています。

つまり、Windows からすれば二度目の実行が管理者としての実行になります。

この場合は、スクリプトに引数を渡す事ができません。もし渡したい場合は、違ったトリックを使う必要があるのに注意して下さい。(その場合は、外部ファイルから入力するのがもっとも簡単で確実だと思います)








<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<pre>
VBScript を『管理者として実行する』には、以下の内容ををスクリプトの先頭に記述します

</pre>
<h3>〓 VBScript</h3>
<div id="sh_5e057513c327e" class="scroll">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_5e057513c327e .syntaxhighlighter div,#sh_5e057513c327e .syntaxhighlighter span,#sh_5e057513c327e .syntaxhighlighter code { 
	font-size:16px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div class="srcunit"> 
<pre data-name="code191227120555" class="brush:vbs;name:runas">
Set obj = Wscript.CreateObject("Shell.Application")
if Wscript.Arguments.Count = 0 then
	obj.ShellExecute "wscript.exe", WScript.ScriptFullName &amp; " runas", "", "runas", 1
	Wscript.Quit
end if

Wscript.Echo "ここは管理者権限で実行されます"

</pre>
</div>
</div>
<pre>

<h3>〓 Jscript</h3>
※ Jscript は <a href="https://learn.microsoft.com/ja-jp/previous-versions/windows/scripting/cc364475(v=msdn.10)?redirectedfrom=MSDN" target="_blank">WScript</a> 等、大文字小文字の区別があるので注意です。
</pre>
<div id="sh_5e057513c327e" class="scroll">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_5e057513c327e .syntaxhighlighter div,#sh_5e057513c327e .syntaxhighlighter span,#sh_5e057513c327e .syntaxhighlighter code { 
	font-size:16px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div class="srcunit"> 
<pre data-name="code191227120555" class="brush:jscript;name:runas">
var obj = new ActiveXObject("Shell.Application");
if ( WScript.Arguments.length == 0 ) {
	obj.ShellExecute( "wscript.exe", WScript.ScriptFullName + " runas", "", "runas", 1 );
	WScript.Quit();
}

WScript.Echo( "ここは管理者権限で実行されます" );

</pre>
</div>
</div>
<script type="text/javascript">
SyntaxHighlighter.defaults['tab-size'] = 8;
dp.SyntaxHighlighter.HighlightAll("code191227120555"); 
</script>
<pre>
<a href="https://msdn.microsoft.com/en-us/library/gg537745.aspx" target="_blank">Shell.ShellExecute method</a>

これは、VBScript から利用可能な <a href="https://docs.microsoft.com/ja-jp/windows/win32/shell/shell" target="_blank">Shell</a> の機能を使って、右クリックメニューにある<strong>『管理者として実行』</strong>を実行する方法です。ここでは日本語では無く <strong>runas</strong> と言う文字列を使って管理者として実行させています。

但し、引数がなかった場合の処理としては処理終了します。ですからこのスクリプトでは、<strong>引数をダミーで一つセット</strong>して( この場合一つめの runas がそうです )<strong>自分自身を再度呼び出し</strong>ています。

<strong>つまり、Windows からすれば二度目の実行が管理者としての実行になります。</strong>

この場合は、スクリプトに引数を渡す事ができません。もし渡したい場合は、違ったトリックを使う必要があるのに注意して下さい。(その場合は、外部ファイルから入力するのがもっとも簡単で確実だと思います)

</pre>
<script type="text/javascript" src="https://winofsql.jp/js_euc.php?url=http%3A%2F%2Fwinofsql.jp%2Fparts%2Flogicalerror311.htm" charset="euc-jp"></script>
<pre>




</pre><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>VBS + Shell</category>
      <author>lightbox</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,logicalerror/118955741</guid>
                </item>
        <item>
      <link>https://logicalerror.seesaa.net/article/429144636.html</link>
      <title>fake sendmail for windows を使って、PHP でごく普通に( mb_send_mail で )メール送信</title>
      <pubDate>Mon, 05 Aug 2024 10:36:45 +0900</pubDate>
            <description>fake sendmail は、XAMPP に同梱されていますメールサーバは、フリーメールで可能で、簡単な設定で利用できます。以下のサンプルは、さくらインターネット で動作確認しました。▼ 手順ダウンロード配布元より、sendmail.zip をダウンロードして、解凍します。( XAMPP には sendmail フォルダがあります )sendmail.exe の動作テストまず、sendmail.ini をエディタで開いて、四つのエントリを指定します▼ さくらインターネットを..</description>
            <itunes:summary><![CDATA[

fake sendmail は、<a href="https://www.apachefriends.org/jp/index.html" target="_blank">XAMPP</a> に同梱されています

メールサーバは、フリーメールで可能で、簡単な設定で利用できます。以下のサンプルは、さくらインターネット で動作確認しました。

▼ 手順

<b>ダウンロード</b>

<a href="http://glob.com.au/sendmail/" target="_blank">配布元より、sendmail.zip をダウンロード</a>して、解凍します。
( XAMPP には sendmail フォルダがあります )

<b>sendmail.exe の動作テスト</b>

まず、sendmail.ini をエディタで開いて、四つのエントリを指定します
▼ さくらインターネットを使う場合の設定

smtp_server=初期ドメイン
smtp_port=587
auth_username=ユーザ@初期ドメイン
auth_password=パスワード

※ smtp_ssl=auto となっており、デフォルトで ssl で実行され、使え無い場合は TLS を使おうとします

<b>php.ini の設定</b>

sendmail_path = "C:\tools\sendmail\sendmail.exe"


実際の sendmail.exe のパスを "" で囲んで指定します。
※ この場合、エラーログは "C:\tools\sendmail\error.log" です( デフォルト )

<b>PHP のコード ( UTF8 BOM なしで記述します )</b>

HTML の input 要素で type="text" name="fld_to"、name="fld_subject"、name="fld_body"、を form 要素の中に記述し、form 要素に method="post" action="以下の PHP のファイルのパス" を指定し、form 要素の中に input 要素で type="submit" を指定したボタンを記述します。


 
 
 

mb_language("Japanese");
mb_internal_encoding("UTF-8");

$from_header = "From: " . mb_encode_mimeheader( mb_convert_encoding("差出人","iso-2022-jp") );

$from_header .= " &lt;{$GLOBALS["mail"]}&gt;";

$result = mb_send_mail($_POST["fld_to"], $_POST["fld_subject"], $_POST["fld_body"], $from_header);
if ( $result ) {
	$error = "OK";
}
else {
	$error = "ERROR";
}

print mb_language() . "";
print $error;





$GLOBALS["mail"] は、メール形式であれば良いですが、通常ならば auth_username で指定したメールアドレスを記述します。

PHP の mb_send_mail の使用方法の全体のサンプルは、<a href="http://logicalerror.seesaa.net/article/419470269.html" target="_blank">こちらを参照</a>して下さい。





<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<pre>
<strong><span style="color:#CB3232;">fake sendmail は、<a href="https://www.apachefriends.org/jp/index.html" target="_blank">XAMPP</a> に同梱されています</span></strong>

メールサーバは、フリーメールで可能で、簡単な設定で利用できます。以下のサンプルは、さくらインターネット で動作確認しました。

▼ 手順

<b class=gttl>ダウンロード</b>

<a href="http://glob.com.au/sendmail/" target="_blank">配布元より、sendmail.zip をダウンロード</a>して、解凍します。
( XAMPP には sendmail フォルダがあります )

<b class=gttl>sendmail.exe の動作テスト</b>

まず、sendmail.ini をエディタで開いて、四つのエントリを指定します
▼ さくらインターネットを使う場合の設定
<pre class="this bd">
smtp_server=初期ドメイン
smtp_port=587
auth_username=ユーザ@初期ドメイン
auth_password=パスワード
</pre>
<strong>※ smtp_ssl=auto となっており、デフォルトで ssl で実行され、使え無い場合は TLS を使おうとします</strong>

<b class=gttl>php.ini の設定</b>
<pre class="this bd">
sendmail_path = "C:\tools\sendmail\sendmail.exe"
</pre>

実際の sendmail.exe のパスを "" で囲んで指定します。
<strong>※ この場合、エラーログは "C:\tools\sendmail\error.log" です( デフォルト )</strong>

<b class=gttl>PHP のコード ( UTF8 BOM なしで記述します )</b>

HTML の input 要素で type="text" name="fld_to"、name="fld_subject"、name="fld_body"、を form 要素の中に記述し、form 要素に method="post" action="以下の PHP のファイルのパス" を指定し、form 要素の中に input 要素で type="submit" を指定したボタンを記述します。
</pre>
<div id="sh_59aa362e4f079">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_59aa362e4f079 .syntaxhighlighter div,#sh_59aa362e4f079 .syntaxhighlighter span,#sh_59aa362e4f079 .syntaxhighlighter code { 
	font-size:16px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div> 
<pre data-name="code170902134014" class="brush:php">
mb_language("Japanese");
mb_internal_encoding("UTF-8");

$from_header = "From: " . mb_encode_mimeheader( mb_convert_encoding("差出人","iso-2022-jp") );

$from_header .= " &lt;{$GLOBALS["mail"]}&gt;";

$result = mb_send_mail($_POST["fld_to"], $_POST["fld_subject"], $_POST["fld_body"], $from_header);
if ( $result ) {
	$error = "OK";
}
else {
	$error = "ERROR";
}

print mb_language() . "<br>";
print $error;
</pre>
</div>
</div>
<script type="text/javascript">
dp.SyntaxHighlighter.HighlightAll("code170902134014"); 
</script>
<pre>
$GLOBALS["mail"] は、メール形式であれば良いですが、通常ならば auth_username で指定したメールアドレスを記述します。

PHP の mb_send_mail の使用方法の全体のサンプルは、<a href="http://logicalerror.seesaa.net/article/419470269.html" target="_blank">こちらを参照</a>して下さい。





</pre><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>PHP + 通信</category>
      <author>lightbox</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,logicalerror/429144636</guid>
                </item>
        <item>
      <link>https://logicalerror.seesaa.net/article/374369100.html</link>
      <title>TCPDF をダウンロードして、Windows の任意のフォルダで TCPDF 同梱のサンプルを実行する為の設定</title>
      <pubDate>Sun, 04 Aug 2024 09:34:36 +0900</pubDate>
            <description>2024/08/04 時点で 6.7.5テスト環境❶ Windows11 64ビット + XAMPP  8.2.12 + php ( 8.2.12 )❷ TCPDF ( C:\app\TCPDF-main として解凍 )テスト内容TCPDF-main.zip を解凍すると、TCPDF-main\examples というフォルダがあり、そこにサンプルが沢山ありますが、それを他のフォルダでも同様に動作させます。手順❶ example フォルダを全て 任意のフォルダにコピー( アプ..</description>
            <itunes:summary><![CDATA[

2024/08/04 時点で 6.7.5

<b>テスト環境</b>

❶ Windows11 64ビット + XAMPP  8.2.12 + php ( 8.2.12 )
❷ <a href="https://github.com/tecnickcom/TCPDF" target="_blank">TCPDF</a> ( C:\app\TCPDF-main として解凍 )

<b>テスト内容</b>

TCPDF-main.zip を解凍すると、TCPDF-main\examples というフォルダがあり、そこにサンプルが沢山ありますが、それを他のフォルダでも同様に動作させます。

<b>手順</b>

❶ example フォルダを全て 任意のフォルダにコピー( アプリの実行環境になります )
❷ そのフォルダを XAMPP で、PHP が動作するようにする
❸ tcpdf_include.php を以下のように書き換える
( set_include_path までを先頭に、require_once('tcpdf.php'); は追加、または全部以下に書き換え )


 
 
 

&lt;?php
$path = "/app/TCPDF-main";
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
require_once('config/tcpdf_config_alt.php');
require_once('tcpdf.php');
?&gt;








barcodes は、tcpdf_barcodes_1d_include.php と tcpdf_barcodes_2d_include.php の
中身の配列の参照パスの一つを realpath('/app/TCPDF-main/tcpdf_barcodes_1d.php')
のように変更すれば動作します( tcpdf_barcodes_2d_include.php も同じ )


 
 
 

// Include the TCPDF 1D barcode class (search the class on the following directories).
$tcpdf_barcodes_1d_include_dirs = array(
    realpath(dirname(__FILE__) . '/../../tcpdf_barcodes_1d.php'),// True source file
	realpath('/app/TCPDF-main/tcpdf_barcodes_1d.php'),// Relative from $PWD
	'/usr/share/php/tcpdf/tcpdf_barcodes_1d.php',
	'/usr/share/tcpdf/tcpdf_barcodes_1d.php',
	'/usr/share/php-tcpdf/tcpdf_barcodes_1d.php',
	'/var/www/tcpdf/tcpdf_barcodes_1d.php',
	'/var/www/html/tcpdf/tcpdf_barcodes_1d.php',
	'/usr/local/apache2/htdocs/tcpdf/tcpdf_barcodes_1d.php'
);








<a href="https://logicalerror.seesaa.net/article/374474910.html" target="_blank">フォントの追加は、tcpdf_addfont.php で</a>作成したフォントファイルを fonts フォルダにコピーします。





<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<pre>
<span style="color:#CB3232;"><span class="span-mark">2024/08/04 時点で 6.7.5</span>

<b class=sttl>テスト環境</b>

❶ Windows11 64ビット + XAMPP  8.2.12 + php ( 8.2.12 )
❷ <a href="https://github.com/tecnickcom/TCPDF" target="_blank">TCPDF</a> ( C:\app\TCPDF-main として解凍 )

<b class=sttl>テスト内容</b>
<pre class="this bd">
TCPDF-main.zip を解凍すると、TCPDF-main\examples というフォルダがあり、そこにサンプルが沢山ありますが、それを他のフォルダでも同様に動作させます。
</pre>
<b class=sttl>手順</b>

❶ example フォルダを全て 任意のフォルダにコピー( <strong>アプリの実行環境になります</strong> )
❷ そのフォルダを XAMPP で、PHP が動作するようにする
❸ tcpdf_include.php を以下のように書き換える
( set_include_path までを先頭に、require_once('tcpdf.php'); は追加、または全部以下に書き換え )
</pre>
<div id="sh_5c00c1e59d65c" class="scroll">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_5c00c1e59d65c .syntaxhighlighter div,#sh_5c00c1e59d65c .syntaxhighlighter span,#sh_5c00c1e59d65c .syntaxhighlighter code { 
	font-size:16px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div class="srcunit"> 
<pre data-name="code181130135149" class="brush:php">
&lt;?php
$path = "/app/TCPDF-main";
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
require_once('config/tcpdf_config_alt.php');
require_once('tcpdf.php');
?&gt;

</pre>
</div>
</div>
<script type="text/javascript">
SyntaxHighlighter.defaults['tab-size'] = 8;
dp.SyntaxHighlighter.HighlightAll("code181130135149"); 
</script>


<pre>
<strong>barcodes</strong> は、<strong>tcpdf_barcodes_1d_include.php と tcpdf_barcodes_2d_include.php</strong> の
中身の配列の参照パスの一つを realpath('/app/TCPDF-main/tcpdf_barcodes_1d.php')
のように変更すれば動作します( tcpdf_barcodes_2d_include.php も同じ )
</pre>
<div id="sh_66aedc5520924" class="scroll">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_66aedc5520924 .syntaxhighlighter div,#sh_66aedc5520924 .syntaxhighlighter span,#sh_66aedc5520924 .syntaxhighlighter code { 
	font-size:16px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div class="srcunit"> 
<pre data-name="code240804104141" class="brush:js;highlight: [4]">
// Include the TCPDF 1D barcode class (search the class on the following directories).
$tcpdf_barcodes_1d_include_dirs = array(
    realpath(dirname(__FILE__) . '/../../tcpdf_barcodes_1d.php'),// True source file
	realpath('/app/TCPDF-main/tcpdf_barcodes_1d.php'),// Relative from $PWD
	'/usr/share/php/tcpdf/tcpdf_barcodes_1d.php',
	'/usr/share/tcpdf/tcpdf_barcodes_1d.php',
	'/usr/share/php-tcpdf/tcpdf_barcodes_1d.php',
	'/var/www/tcpdf/tcpdf_barcodes_1d.php',
	'/var/www/html/tcpdf/tcpdf_barcodes_1d.php',
	'/usr/local/apache2/htdocs/tcpdf/tcpdf_barcodes_1d.php'
);
</pre>
</div>
</div>
<script type="text/javascript">
SyntaxHighlighter.defaults['tab-size'] = 8;
dp.SyntaxHighlighter.HighlightAll("code240804104141"); 
</script>


<pre>

<a href="https://logicalerror.seesaa.net/article/374474910.html" target="_blank">フォントの追加は、tcpdf_addfont.php で</a>作成したフォントファイルを fonts フォルダにコピーします。




</pre>
<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>PHP + PDF</category>
      <author>lightbox</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,logicalerror/374369100</guid>
                </item>
        <item>
      <link>https://logicalerror.seesaa.net/article/139234483.html</link>
      <title>JavaScript : window オブジェクトのプロパティとしてグローバル変数を定義する</title>
      <pubDate>Wed, 24 Jul 2024 10:12:06 +0900</pubDate>
            <description>実際は、右辺にオブジェクトをセットして専用の名前空間で参照できるライブラリのインスタンスとして利用します。ルートで var で定義する変数と厳密には違うようですが、事実上同じと思っていいと思います。ですから、Fucntion 内でグルーバルな変数を利用したい場合は、window オブジェクトを使用すると良いでしょう   window.変数名 = &quot;lightbox&quot;またはwindow[&quot;変数名&quot;] = &quot;lightbox&quot;例えば、ライブラリを簡単にまとめると以下のような定義の..</description>
            <itunes:summary><![CDATA[

実際は、右辺にオブジェクトをセットして専用の名前空間で参照できるライブラリのインスタンスとして利用します。

ルートで var で定義する変数と厳密には違うようですが、事実上同じと思っていいと思います。ですから、Fucntion 内でグルーバルな変数を利用したい場合は、window オブジェクトを使用すると良いでしょう



 
 
 

window.変数名 = "lightbox"

または

window["変数名"] = "lightbox"







例えば、ライブラリを簡単にまとめると以下のような定義のしかたになります。



 
 
 

(function(){

    S = {

        // いろいろな定義

        },

    // いろいろな定義
    ;

    window['MyLIB'] = S;

})();








(function(){})(); は、関数を定義して呼び出すのを一度に行う書き方で、無名関数を定義して () で実行しています


 
 
 

&lt;script&gt;

window["MyLIB"] = "lightbox";


(function(){

	alert(MyLIB);

})();

&lt;/script&gt;





<a href="https://toolbox.winofsql.jp/html-page.php" target="_blank"><img src="https://winofsql.jp/image/a/2024-07-24-102119.png"></a>


<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<pre>
実際は、右辺にオブジェクトをセットして専用の名前空間で参照できるライブラリのインスタンスとして利用します。

ルートで var で定義する変数と厳密には違うようですが、事実上同じと思っていいと思います。ですから、Fucntion 内でグルーバルな変数を利用したい場合は、window オブジェクトを使用すると良いでしょう
</pre>

<div id="sh_54ba9660d244e">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_54ba9660d244e .syntaxhighlighter div,#sh_54ba9660d244e .syntaxhighlighter span,#sh_54ba9660d244e .syntaxhighlighter code { 
	font-size:26px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div style='width:600px;'> 
<pre name="code150118020536" class="brush:text">
window.変数名 = "lightbox"

または

window["変数名"] = "lightbox"

</pre>
</div>
</div>
<script type="text/javascript">
dp.SyntaxHighlighter.HighlightAll("code150118020536"); 
</script>

<pre class=w6>
例えば、ライブラリを簡単にまとめると以下のような定義のしかたになります。
</pre>

<div id="sh_54ba969eb1b17">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_54ba969eb1b17 .syntaxhighlighter div,#sh_54ba969eb1b17 .syntaxhighlighter span,#sh_54ba969eb1b17 .syntaxhighlighter code { 
	font-size:18px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div style='width:600px;'> 
<pre name="code150118020638" class="brush:js">
(function(){

    S = {

        // いろいろな定義

        },

    // いろいろな定義
    ;

    window['MyLIB'] = S;

})();


</pre>
</div>
</div>
<script type="text/javascript">
dp.SyntaxHighlighter.HighlightAll("code150118020638"); 
</script>

<pre class=w6>
<strong>(function(){})</strong><strong><span style="color:#cc0033;">()</span></strong>; は、関数を定義して呼び出すのを一度に行う書き方で、無名関数を定義して () で実行しています
</pre>
<div id="sh_66a0566e3794b" class="scroll">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_66a0566e3794b .syntaxhighlighter div,#sh_66a0566e3794b .syntaxhighlighter span,#sh_66a0566e3794b .syntaxhighlighter code { 
	font-size:16px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div class="srcunit"> 
<pre data-name="code240724101838" class="brush:js">
&lt;script&gt;

window["MyLIB"] = "lightbox";


(function(){

	alert(MyLIB);

})();

&lt;/script&gt;
</pre>
</div>
</div>
<script type="text/javascript">
SyntaxHighlighter.defaults['tab-size'] = 8;
dp.SyntaxHighlighter.HighlightAll("code240724101838"); 
</script>
<pre>
<a href="https://toolbox.winofsql.jp/html-page.php" target="_blank"><img src="https://winofsql.jp/image/a/2024-07-24-102119.png"></a>


</pre><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>JavaScript オブジェクト</category>
      <author>lightbox</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,logicalerror/139234483</guid>
                </item>
        <item>
      <link>https://logicalerror.seesaa.net/article/374474910.html</link>
      <title>TCPDF をダウンロードして、フリーフォントを埋め込み型で使用する方法</title>
      <pubDate>Sun, 12 May 2024 11:44:40 +0900</pubDate>
            <description>2024/04/20 時点で 6.7.52018/11/30 時点で 6.2.262016/01/13 時点で 6_2_122014/05/22 時点で 6_0_080さくらサーバでは、php.ini で memory_limit = 256M で動作しています(日本語フォントが大きくなっていました )2013/09/11 時点で 6_0_025『TCPDF をダウンロードして、Windows の任意のフォルダで TCPDF 同梱のサンプルを実行する為の設定』の続きです。TC..</description>
            <itunes:summary><![CDATA[


2024/04/20 時点で 6.7.5
2018/11/30 時点で 6.2.26
2016/01/13 時点で 6_2_12
2014/05/22 時点で 6_0_080
さくらサーバでは、php.ini で memory_limit = 256M で動作しています(日本語フォントが大きくなっていました )
2013/09/11 時点で 6_0_025

『<a href="http://logicalerror.seesaa.net/article/374369100.html" target="_blank">TCPDF をダウンロードして、Windows の任意のフォルダで TCPDF 同梱のサンプルを実行する為の設定</a>』の続きです。

TCPDF 用の専用フォント(情報)ファイルは TCPDF そのもの( <a href="https://github.com/tecnickcom/TCPDF/blob/main/tools/tcpdf_addfont.php" target="_blank">tcpdf_addfont.php</a> )に作成させるようになっていて、コマンドプロンプトから php で処理できます。

埋め込み : c:\php\php tcpdf_addfont.php -t TrueTypeUnicode -f 32 -i hc-poo5.ttf
非埋め込み : c:\php\php tcpdf_addfont.php -t CID0JP -f 32 -i hc-poo5.ttf

-t は省略すると フォントファイルをチェックして通常は TrueTypeUnicode になり、-f は省略すると 32 です。 ※ -b を指定すると、character bounding box の情報を php のフォントファイルに書き込みます( If true includes the character bounding box information on the php font file. )


<b>動的にフォントファイルを作成する addTTFfont メソッドの使い方</b>

以下のようにして使用できますが、一度作成すると無駄なコードとなる上に ttf ファイルをサーバに置く管理になるので最初に TCPDF 用のフォントファイルを作成しておいて使用するのが現実的です。( TCPDF は サーバーに ttf ファイルを必要としません )


 
 
 

// フォントを動的に作成して使用する方法( 作成するのは最初だけ )
// ※ 32 はデフォルトですが、メソッドの都合上省略しない
// ※ フォントフォルダのパスを / で終了させる
$fontname = TCPDF_FONTS::addTTFfont("hc-poo5.ttf", "TrueTypeUnicode", "", 32, "C:\\httpd142p\\pdf_format\\tcpdf\\fonts/");






フリーフォントは、通常システムに無いですから、『埋め込み』で処理する事になります。但しそのぶん PDF が大きくなってしまいますが、PC の環境に依存せず表示されます。

フリーフォントによっては崩れて使え無いですが、現在デフォルトで『部分埋込($font_subsetting)』により使用している文字のみ埋め込むようになっています( 全て埋め込む場合は $pdf-&gt;setFontSubsetting(false); を実行)
部分埋め込み : 84k
全て埋め込み : 4224k

〓 フォントに依存しますが、フリーフォントを使用する場合、固定の文書ならば部分埋め込みで出力してから校正すればいいですが、動的な文書の場合は全て埋め込みにする必要があります。


 
 
 

	/**
	 * Boolean flag: if true enables font subsetting by default.
	 * @protected
	 * @since 5.3.002 (2010-06-07)
	 */
	protected $font_subsetting = true;






非埋め込み型は、Windows(等) に最初からあるフォントを対象とし、PDF のサイズを小さくする事が主な目的となります。

<a href="http://webapp.winofsql.jp/pdf/example_038.pdf" target="_blank">こちらから、実際に『HCP丸ゴシック(蓬莱和多流)』と言うフリーフォントを使ったPDF がご覧いただけます(部分埋め込み)。
<img src="https://lh4.googleusercontent.com/-9ptu9H3KoVU/Ui9DFcTDAFI/AAAAAAAAQOg/4619BDupL8I/s400/_img.jpg" /></a>

この PDF は、サンプルの38番を書き換えたもので、オリジナルよりさらにシンプルになっています。
(部分埋め込み型です)


 
 
 

&lt;?php
require_once('tcpdf_include.php');

// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

$pdf-&gt;SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf-&gt;SetFooterMargin(PDF_MARGIN_FOOTER);

// set auto page breaks
$pdf-&gt;SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

$pdf-&gt;SetFont('hcpoo5', '', 20);
$pdf-&gt;AddPage();

$txt = 'example_038.pdfは非埋め込み型フォントのサンプルですが、hcpoo5はフリーフォントを埋め込み型で変換したものです

';
$pdf-&gt;Write(0, $txt, '', 0, 'L', false, 0, false, false, 0);

$pdf-&gt;SetFont('hcpoo5', '', 14);
$txt = '埋め込み	: c:\php\php tcpdf_addfont.php -i hc-poo5.ttf
非埋め込み	: c:\php\php tcpdf_addfont.php -t CID0JP -i hc-poo5.ttf

';
$pdf-&gt;Write(0, $txt, '', 0, 'L', false, 0, false, false, 0);

$pdf-&gt;SetFont('hcpoo5', '', 40);

$txt = 'こんにちは世界あいうえお漢字表示';
for( $i = 0; $i &lt; 4; $i++ ) {
	$txt .= $txt;
}

$pdf-&gt;Write(0, $txt, '', 0, 'L', false, 0, false, false, 0);

// ---------------------------------------------------------

//Close and output PDF document
$pdf-&gt;Output('example_038.pdf', 'I');







<b>TCPDF 用フォントの作成</b>

作成されたフォントは、fonts フォルダにコピーされますが、再作成する場合はいったん削除します。埋め込み型では、3つ作成されますが、非埋め込み型だと1つです。


 
 
 

&gt;c:\php\php tcpdf_addfont.php -t CID0JP -i hc-poo5.ttf

&gt;&gt;&gt; Converting fonts for TCPDF:
*** Output dir set to C:\httpd142p\lightbox\tcpdf_6_0_080\tcpdf/fonts/
+++ OK   : C:\httpd142p\lightbox\tcpdf_6_0_080\tcpdf\tools\hc-poo5.ttf added as
hcpoo5
&gt;&gt;&gt; Process successfully completed!


&gt;c:\php\php tcpdf_addfont.php -i hc-poo5.ttf

&gt;&gt;&gt; Converting fonts for TCPDF:
*** Output dir set to C:\httpd142p\lightbox\tcpdf_6_0_080\tcpdf/fonts/
+++ OK   : C:\httpd142p\lightbox\tcpdf_6_0_080\tcpdf\tools\hc-poo5.ttf added as
hcpoo5
&gt;&gt;&gt; Process successfully completed!





( 上が非埋め込み、下が埋め込み )

<b>非埋め込み型フォント使用時の代替フォントについて</b>

TCPDF 内には cid0jp という非埋め込み型のフォントが用意されていますが、実際に PC にインストールされているフォントを内部では指定していません。なので、表示は代替フォントで表示されます。ただ、代替フォントについて詳細な情報はあまりありません。Adobe のドキュメントでのみ( 代替フォント )という言葉を見る事ができました。しかし、具体的にどのフォントを使うかまでは確認できていません。

こちらの環境(Windows)では、非埋め込み型フォントを使ってそのフォントが無い場合は代替で MSゴシックまたはMS明朝(たぶん)が使われていました
再度確認してみると、Chrome PDF Viewer で MS明朝(らしい)。Firefox 内臓ビュアーでMSゴシック
Firefox は、ブラウザの規定のフォントが使われていたので変更可能でした
Chrome は、pdf.dll の中に『Arial Unicode MS    MingLiU SimSun  MS Mincho』という文字列があったので、MS明朝が優先されているような気がします( 変更方法は不明 )

<b>cid0jp について補足</b>

$name='cid0jp'; 部分の cid0jp を日本語で置き換えて SHIFT_JIS で保存すると、英数字の文字ピッチは狂うと思いますが、インストールされているフォントであれば一応の表示が可能です。

<img src="https://lh3.googleusercontent.com/-qaS7W0v-zBs/VpjbsAMVKtI/AAAAAAAAdL8/Bt3kwYcjV7E/s379-Ic42/_img.png">

<img src="https://lh3.googleusercontent.com/-ljPpAclyCtQ/VpjcmRdtHAI/AAAAAAAAdME/B5_i7cbSAoA/s255-Ic42/_img.png">

漢字等にはほぼ影響出ないとは思いますが、正しいピッチで表示するにはオリジナルのフォントから非埋め込み用フォントを作成して登録する必要があります


※ Office で使用可能なフォントに関しては英語名が使用できませんでした


<b>関連する記事</b>




<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<pre>
<strong>
<span style="color:#CB3232;"><span class="span-mark">2024/04/20 時点で 6.7.5</span>
<span style="color:#CB3232;"><span class="span-mark">2018/11/30 時点で 6.2.26</span>
<span class="span-mark">2016/01/13 時点で 6_2_12</span>
<span class="span-mark">2014/05/22 時点で 6_0_080</span>
<span class="span-mark">さくらサーバでは、php.ini で memory_limit = 256M で動作しています(日本語フォントが大きくなっていました )</span>
<span class="span-mark">2013/09/11 時点で 6_0_025</span></strong></span>

『<a href="http://logicalerror.seesaa.net/article/374369100.html" target="_blank">TCPDF をダウンロードして、Windows の任意のフォルダで TCPDF 同梱のサンプルを実行する為の設定</a>』の続きです。

TCPDF 用の専用フォント(情報)ファイルは TCPDF そのもの( <a href="https://github.com/tecnickcom/TCPDF/blob/main/tools/tcpdf_addfont.php" target="_blank">tcpdf_addfont.php</a> )に作成させるようになっていて、コマンドプロンプトから php で処理できます。
<pre class="this bd">
埋め込み : c:\php\php tcpdf_addfont.php -t TrueTypeUnicode -f 32 -i hc-poo5.ttf
非埋め込み : c:\php\php tcpdf_addfont.php -t CID0JP -f 32 -i hc-poo5.ttf

<span style="color:#cc0033;">-t は省略すると フォントファイルをチェックして通常は TrueTypeUnicode になり、-f は省略すると 32 です。</span> ※ -b を指定すると、character bounding box の情報を php のフォントファイルに書き込みます( If true includes the character bounding box information on the php font file. )
</pre>

<b class=gttl>動的にフォントファイルを作成する addTTFfont メソッドの使い方</b>

以下のようにして使用できますが、一度作成すると無駄なコードとなる上に ttf ファイルをサーバに置く管理になるので最初に TCPDF 用のフォントファイルを作成しておいて使用するのが現実的です。( TCPDF は サーバーに ttf ファイルを必要としません )
</pre>
<div id="sh_5c0345fcb0aee" class="scroll">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_5c0345fcb0aee .syntaxhighlighter div,#sh_5c0345fcb0aee .syntaxhighlighter span,#sh_5c0345fcb0aee .syntaxhighlighter code { 
	font-size:16px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div class="srcunit"> 
<pre data-name="code181202113956" class="brush:php">
// フォントを動的に作成して使用する方法( 作成するのは最初だけ )
// ※ 32 はデフォルトですが、メソッドの都合上省略しない
// ※ フォントフォルダのパスを / で終了させる
$fontname = TCPDF_FONTS::addTTFfont("hc-poo5.ttf", "TrueTypeUnicode", "", 32, "C:\\httpd142p\\pdf_format\\tcpdf\\fonts/");

</pre>
</div>
</div>
<script type="text/javascript">
SyntaxHighlighter.defaults['tab-size'] = 8;
dp.SyntaxHighlighter.HighlightAll("code181202113956"); 
</script>
<pre>
<strong>フリーフォントは、通常システムに無いですから、『埋め込み』で処理する事になります</strong>。但しそのぶん PDF が大きくなってしまいますが、PC の環境に依存せず表示されます。
<pre class="this bd" style="width:550px">
フリーフォントによっては崩れて使え無いですが、<span style="color:#cc0033;">現在デフォルトで『部分埋込($font_subsetting)』により使用している文字のみ埋め込むようになっています( 全て埋め込む場合は $pdf->setFontSubsetting(false); を実行)</span>
部分埋め込み : 84k
全て埋め込み : 4224k
</pre>
<strong>〓 フォントに依存しますが、フリーフォントを使用する場合、固定の文書ならば部分埋め込みで出力してから校正すればいいですが、動的な文書の場合は全て埋め込みにする必要があります。</strong>
</pre>
<div id="sh_5c032f98e1c1e" class="scroll">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_5c032f98e1c1e .syntaxhighlighter div,#sh_5c032f98e1c1e .syntaxhighlighter span,#sh_5c032f98e1c1e .syntaxhighlighter code { 
	font-size:16px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div class="srcunit"> 
<pre data-name="code181202100424" class="brush:php">
	/**
	 * Boolean flag: if true enables font subsetting by default.
	 * @protected
	 * @since 5.3.002 (2010-06-07)
	 */
	protected $font_subsetting = true;

</pre>
</div>
</div>
<script type="text/javascript">
SyntaxHighlighter.defaults['tab-size'] = 8;
dp.SyntaxHighlighter.HighlightAll("code181202100424"); 
</script>
<pre>
非埋め込み型は、Windows(等) に最初からあるフォントを対象とし、PDF のサイズを小さくする事が主な目的となります。

<a href="http://webapp.winofsql.jp/pdf/example_038.pdf" target="_blank">こちらから、実際に『HCP丸ゴシック(蓬莱和多流)』と言うフリーフォントを使ったPDF がご覧いただけます(部分埋め込み)。
<img src="https://lh4.googleusercontent.com/-9ptu9H3KoVU/Ui9DFcTDAFI/AAAAAAAAQOg/4619BDupL8I/s400/_img.jpg" style="border: solid 1px #000000" /></a>

この PDF は、サンプルの38番を書き換えたもので、オリジナルよりさらにシンプルになっています。
<strong>(部分埋め込み型です)</strong>
</pre>
<div id="sh_5c0332b5c2c1d" class="scroll">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_5c0332b5c2c1d .syntaxhighlighter div,#sh_5c0332b5c2c1d .syntaxhighlighter span,#sh_5c0332b5c2c1d .syntaxhighlighter code { 
	font-size:16px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div class="srcunit"> 
<pre data-name="code181202101741" class="brush:php">
&lt;?php
require_once('tcpdf_include.php');

// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

$pdf-&gt;SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf-&gt;SetFooterMargin(PDF_MARGIN_FOOTER);

// set auto page breaks
$pdf-&gt;SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

$pdf-&gt;SetFont('hcpoo5', '', 20);
$pdf-&gt;AddPage();

$txt = 'example_038.pdfは非埋め込み型フォントのサンプルですが、hcpoo5はフリーフォントを埋め込み型で変換したものです

';
$pdf-&gt;Write(0, $txt, '', 0, 'L', false, 0, false, false, 0);

$pdf-&gt;SetFont('hcpoo5', '', 14);
$txt = '埋め込み	: c:\php\php tcpdf_addfont.php -i hc-poo5.ttf
非埋め込み	: c:\php\php tcpdf_addfont.php -t CID0JP -i hc-poo5.ttf

';
$pdf-&gt;Write(0, $txt, '', 0, 'L', false, 0, false, false, 0);

$pdf-&gt;SetFont('hcpoo5', '', 40);

$txt = 'こんにちは世界あいうえお漢字表示';
for( $i = 0; $i &lt; 4; $i++ ) {
	$txt .= $txt;
}

$pdf-&gt;Write(0, $txt, '', 0, 'L', false, 0, false, false, 0);

// ---------------------------------------------------------

//Close and output PDF document
$pdf-&gt;Output('example_038.pdf', 'I');

</pre>
</div>
</div>
<script type="text/javascript">
SyntaxHighlighter.defaults['tab-size'] = 8;
dp.SyntaxHighlighter.HighlightAll("code181202101741"); 
</script>

<pre>
<b class=sttl>TCPDF 用フォントの作成</b>

作成されたフォントは、fonts フォルダにコピーされますが、再作成する場合はいったん削除します。埋め込み型では、3つ作成されますが、非埋め込み型だと1つです。
</pre>
<div id="sh_5c0332e593e15" class="scroll">
<style type="text/css"> 
.syntaxhighlighter { 
	word-wrap:break-word!important; 
} 
 
#sh_5c0332e593e15 .syntaxhighlighter div,#sh_5c0332e593e15 .syntaxhighlighter span,#sh_5c0332e593e15 .syntaxhighlighter code { 
	font-size:16px!important; 
	font-family: "メイリオ","ＭＳ Ｐゴシック"!important; 
} 
</style> 
 
<div class="srcunit"> 
<pre data-name="code181202101829" class="brush:txt">
&gt;c:\php\php tcpdf_addfont.php -t CID0JP -i hc-poo5.ttf

&gt;&gt;&gt; Converting fonts for TCPDF:
*** Output dir set to C:\httpd142p\lightbox\tcpdf_6_0_080\tcpdf/fonts/
+++ OK   : C:\httpd142p\lightbox\tcpdf_6_0_080\tcpdf\tools\hc-poo5.ttf added as
hcpoo5
&gt;&gt;&gt; Process successfully completed!


&gt;c:\php\php tcpdf_addfont.php -i hc-poo5.ttf

&gt;&gt;&gt; Converting fonts for TCPDF:
*** Output dir set to C:\httpd142p\lightbox\tcpdf_6_0_080\tcpdf/fonts/
+++ OK   : C:\httpd142p\lightbox\tcpdf_6_0_080\tcpdf\tools\hc-poo5.ttf added as
hcpoo5
&gt;&gt;&gt; Process successfully completed!
</pre>
</div>
</div>
<script type="text/javascript">
SyntaxHighlighter.defaults['tab-size'] = 8;
dp.SyntaxHighlighter.HighlightAll("code181202101829"); 
</script>
<pre>
( <strong>上が非埋め込み、下が埋め込み</strong> )

<b class=sttl>非埋め込み型フォント使用時の代替フォントについて</b>

TCPDF 内には cid0jp という非埋め込み型のフォントが用意されていますが、実際に PC にインストールされているフォントを内部では指定していません。なので、表示は代替フォントで表示されます。ただ、代替フォントについて詳細な情報はあまりありません。Adobe のドキュメントでのみ( 代替フォント )という言葉を見る事ができました。しかし、具体的にどのフォントを使うかまでは確認できていません。

<span class="span-mark">こちらの環境(Windows)では、非埋め込み型フォントを使ってそのフォントが無い場合は代替で MSゴシックまたはMS明朝(たぶん)が使われていました</span>
<span class="span-mark">再度確認してみると、Chrome PDF Viewer で MS明朝(らしい)。Firefox 内臓ビュアーでMSゴシック</span>
<span class="span-mark">Firefox は、ブラウザの規定のフォントが使われていたので変更可能でした</span>
<span class="span-mark">Chrome は、pdf.dll の中に『Arial Unicode MS    MingLiU SimSun  MS Mincho』という文字列があったので、MS明朝が優先されているような気がします( 変更方法は不明 )</span>

<b class=sttl>cid0jp について補足</b>

$name='cid0jp'; 部分の cid0jp を日本語で置き換えて SHIFT_JIS で保存すると、英数字の文字ピッチは狂うと思いますが、インストールされているフォントであれば一応の表示が可能です。

<img src="https://lh3.googleusercontent.com/-qaS7W0v-zBs/VpjbsAMVKtI/AAAAAAAAdL8/Bt3kwYcjV7E/s379-Ic42/_img.png" style="border: solid 1px #000000">

<img src="https://lh3.googleusercontent.com/-ljPpAclyCtQ/VpjcmRdtHAI/AAAAAAAAdME/B5_i7cbSAoA/s255-Ic42/_img.png" style="border: solid 1px #000000">

<strong>漢字等にはほぼ影響出ないとは思いますが、正しいピッチで表示するにはオリジナルのフォントから非埋め込み用フォントを作成して登録する必要があります
</strong>

※ Office で使用可能なフォントに関しては英語名が使用できませんでした


<b class=sttl>関連する記事</b>
</pre>
<script
	type="text/javascript"
	src="http://winofsql.jp/js_euc.php?url=http%3A%2F%2Fwinofsql.jp%2Fparts%2Fparts1300.htm"
	charset="euc-jp"
></script>


<br><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>PHP + PDF</category>
      <author>lightbox</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,logicalerror/374474910</guid>
                </item>
      </channel>
</rss>

