AMP対応のページにAmazonアソシエイトのバナーを貼ると、バナーの下に謎の空白というか余白が表示されるということがありました。

原因は layout="responsive"

AMP対応ページを出力する際、通常のHTMLのページ(非AMP)のソースをスクリプトでAMPページ用に<img><iframe><amp-img><amp-iframe>に置き換えています。このときに加えているlayout="responsive"が謎の空白・余白ができる原因でした。

画像やYou-Tubeの動画で使われている<iframe>を以下のように

<amp-iframe layout="responsive" src="http://exampl.com~" width=300 height=300></amp-iframe>

とすることで画面幅100%に合わせて表示してくれるのでいいのですが、アマゾンのバナーソースの<iframe>にlayout="responsiveに使うと、ブラウザはアマゾンのバナーサイズであるwidth="120" height="240"が画面幅100%になるようにフレームを拡大して広い表示スペースを取ります。

しかし、レシポンシブで拡大された広いフレームの中に表示されるのは拡大されていない120×240のバナーなので、空白というか余白ができてしまいます。

アマゾンの場合はlayout="responsive"を付けない

ということで、Amazonアソシエイトバナーの場合は<amp-iframe>タグ内でlayout="responsive"を使わないようにしましょう。

アマゾンに限らずiTunesのバナーなど、URL内にw=300&h=250やwidth=120&height=240といったパラメーターでサイズを指定して画像を呼び出しているものは同じようにlayout="responsive"を削除しておかないと余白や空白ができてしまいますので同じ対応が必要です。

バナーが表示されないとき

もし、<amp-iframe src=~>でバナーが表示されないときは以下のようにsandbox="allow-scripts allow-same-origin allow-popups"を加えてみると表示されると思います。

<amp-iframe sandbox="allow-scripts allow-same-origin allow-popups" src="http://exampl.com~" width=300 height=300></amp-iframe>

パソコンを扱う仕事をしているとリカバリディスクやドライバーディスク、取扱説明書の入ったドキュメントディスクなどのDVDやCDが溜まってきます。これを裁断して捨てることが多いのですが、文房具レベルの家庭用のハサミでは力を入れないと切れないため手が痛くなったり、数枚の裁断で疲れたりします。

万能ハサミを買ってみた

そこで、藤原産業のSK11 ストロング万能はさみSST-250というのをアマゾンで買ってみました。

SK11 ストロング万能はさみSST-250

SK11 ストロング万能はさみSST-250

切り心地について

金額は2,000円以下で、大きいハサミと考えると少し高い気がしますが、工具と考えたら安い方ではないかなと思います。ただ安いと切れ味が悪いのでは?と思ってしまいますが、実際にDVD/CDを切断してみたところ、想像していたほどサクッと切れる感じではありませんが、ハサミで切るよりはるかに楽に切れました。

切断作業を補助するためのバネが付いているので、握力を鍛えるトレーニングツールでニギニギするハンドグリップというのがありますが、あれの軽い版をするような感じになります。

このハサミのいいところ

  • 棒のような持ち手でペンチのように持ちやすい
  • ハサミのように手がはまらないので手が痛くなりにくい
  • 力があまり要らない(女性には力がいるかもしれません)
  • 刃先が大きいのでDVD/CDの中心の穴まで1回で切れ、何度もジョキジョキしなくていい

といったところでしょうか。

そして、いろいろ切れる

この商品は薄い金属の板や絨毯などを切り刻むことができるようです。

SK11 ストロング万能はさみSST-250

衣装や収納用のプラスチックケース、ダンボール、針金でできたハンガーなどの裁断にも役立ちそうです。

気になる方は以下の動画が参考になりますのでご覧ください。

他の万能ハサミSK11シリーズ

SK11 ストロング万能はさみSST-250は全長が約25cmと少し大きいので、少し小さめのハサミが良ければSK11 万能はさみ AD カーブ刃 グリップ開き幅 2段階調整可能 SAD-200Cがおすすめです。

他にもSK11の万能ハサミはいろいろあるので参考に見てみてください。

 

OSのバージョンやビット数に応じて実行させたい処理を切り替えて実行するバッチファイルのメモ。JAVA(JRE)やWindows Updateの更新ファイルをインストールする際に使えそうです。OSのバージョンごとにバッチファイルを用意している場合はこれでまとめることができます。

OSのバージョンと32/64ビットで分岐するバッチファイル

WMICコマンドOSでOSのバージョンを取得し、WMICコマンドCPUで64ビットか32ビットかを取得し、処理を分岐させます。以下の画面はWMICコマンドでOS情報とCPU情報を表示させてものです。ここで表示される値をバッチファイルで判別して分岐処理に使用します。

@echo off

rem WMICコマンドで取得したシステム情報を変数に代入
FOR /F "tokens=*" %%A IN ('WMIC OS Get ServicePackMajorVersion^,BuildNumber^,Caption /Value ^| find "="') DO (SET OS.%%A)

rem WMICコマンドで取得したCPU情報を変数に代入
FOR /F "tokens=*" %%A IN ('WMIC CPU Get AddressWidth /Value ^| find "="') DO (SET CPU.%%A)

rem OS名で分岐
echo %OS.Caption%|find "Windows 10">NUL
if %ERRORLEVEL% equ 0 (
	rem Windowsの32ビット/64ビットで分岐
	if %CPU.AddressWidth% equ 64 (
		goto win10x64
	) else (
		goto win10x86
	)
)

echo %OS.Caption%|find "Windows 8.1">NUL
if %ERRORLEVEL% equ 0 (
	if %CPU.AddressWidth% equ 64 (
		goto win81x64
	) else (
		goto win81x86
	)
)

echo %OS.Caption%|find "Windows 8.0">NUL
if %ERRORLEVEL% equ 0 (
	if %CPU.AddressWidth% equ 64 (
		goto win8x64
	) else (
		goto win8x86
	)
)

echo %OS.Caption%|find "Windows 7">NUL
if %ERRORLEVEL% equ 0 (
	rem SP1であるかで分岐
	if %OS.ServicePackMajorVersion% GEQ 1 (		
		if %CPU.AddressWidth% equ 64 (
			goto win7sp1x64
		) else (
			goto win7sp1x86
		)
	) else (
		if %CPU.AddressWidth% equ 64 (
			goto win7x64
		) else (
			goto win7x86
		)
	)
)

echo %OS.Caption%|find "Windows Vista">NUL
if %ERRORLEVEL% equ 0 (
	if %CPU.AddressWidth% equ 64 (
		goto winvistax64
	) else (
		goto winvistax86
	)
)

echo %OS.Caption%|find "Windows Server 2008">NUL
if %ERRORLEVEL% equ 0 (
	if %CPU.AddressWidth% equ 64 (
		goto win2008x64
	) else (
		goto win2008x86
	)
)

echo %OS.Caption%|find "Windows Server 2012">NUL
if %ERRORLEVEL% equ 0 (
	goto win2012x64
)

echo %OS.Caption%|find "Windows Server 2016">NUL
if %ERRORLEVEL% equ 0 (
	goto win2016x64
)

:win10x64
echo Windows 10 64bit
pause
goto :eof

:win10x86
echo Windows 10 32bit
pause
goto :eof

:win81x64
echo Windows 8.1 64bit
pause
goto :eof

:win81x86
echo Windows 8.1 32bit
pause
goto :eof

:win8x64
echo Windows 8 64bit
pause
goto :eof

:win8x86
echo Windows 8 32bit
pause
goto :eof

:win7sp1x64
echo Windows 7 SP1 64bit
pause
goto :eof

:win7sp1x86
echo Windows 7 SP1 32bit
pause
goto :eof

:win7x64
echo Windows 8.1 64bit
pause
goto :eof

:win7x86
echo Windows 8.1 32bit
pause
goto :eof

:winvistax64
echo Windows Vista 64bit
pause
goto :eof

:winvistax86
echo Windows Vista 32bit
pause
goto :eof

:win2016x64
echo Windows Server 2016 64bit
pause
goto :eof

:win2012x64
echo Windows Server 2012 64bit
pause
goto :eof

:win2008x64
echo Windows Server 2008 64bit
pause
goto :eof

:win2008x86
echo Windows Server 2008 32bit
pause
goto :eof

OSのバージョンので分岐するバッチファイル

VERコマンドではビット数は取得できないので、OSのバージョンだけで分岐させるのであれば以下のVERコマンドを使用したソースでも分岐処理が行えます。

@echo off

ver|find "NT">nul
if %errorlevel% equ 0 goto winnt

ver|find "2000">nul
if %errorlevel% equ 0 goto win2000

ver|find "XP">nul
if %errorlevel% equ 0 goto winxp

if not exist %SystemRoot%\System32\systeminfo.exe goto warn
for /F "tokens=2 delims=," %%a in ('%SystemRoot%\System32\systeminfo.exe /FO CSV /NH') do set osvers=%%~a

echo %osvers%|find "Windows ServerR 2003">nul
if %errorlevel% equ 0 goto win2003

echo %osvers%|find "Windows Vista">nul
if %errorlevel% equ 0 goto winvista

echo %osvers%|find "Windows 7">nul
if %errorlevel% equ 0 goto win7

echo %osvers%|find "Windows 8.0">nul
if %errorlevel% equ 0 goto win8

echo %osvers%|find "Windows 8.1">nul
if %errorlevel% equ 0 goto win8.1

echo %osvers%|find "Windows 10">nul
if %errorlevel% equ 0 goto win10

echo %osvers%|find "Windows Server 2008">nul
if %errorlevel% equ 0 goto win2008

echo %osvers%|find "Windows Server 2012">nul
if %errorlevel% equ 0 goto win2012

echo %osvers%|find "Windows Server 2016">nul
if %errorlevel% equ 0 goto win2016

goto warning

:winnt
echo Windows NT
pause
goto :eof

:win2000
echo Windows 2000
pause
goto :eof

:winxp
echo Windows XP
pause
goto :eof

:win2003
echo Windows Server 2003
pause
goto :eof

:winvista
echo Windows Vista
pause
goto :eof

:win7
echo Windows 7
pause
goto :eof

:win8
echo Windows 8
pause
goto :eof

:win8.1
echo Windows 8.1
pause
goto :eof

:win10
echo Windows 10
pause
goto :eof

:win2008
echo Windows Server 2008
pause
goto :eof

:win2012
echo Windows Server 2012
pause
goto :eof

:win2016
echo Windows Server 2016
pause
goto :eof

:warning
echo Unknown Windows version
pause

ビルド番号で分岐する場合

Windows10はビルド番号によってAnniversary UpdateとかCreators Updateとか呼び名がありますが、これで分岐させる場合は以下となります。ビルド15063以上をCreators Updateと判別した例です。今後、呼び名の違う次の上位ビルドが現れたときは改造でしてください。

@echo off

rem WMICコマンドで取得したシステム情報を変数に代入
FOR /F "tokens=*" %%A IN ('WMIC OS Get ServicePackMajorVersion^,BuildNumber^,Caption /Value ^| find "="') DO (SET OS.%%A)

rem OSのビルド番号で分岐
if %OS.BuildNumber% geq 15063 (
	goto win10rs2
) else (
	goto win10
)

:win10rs2
echo Windows 10 Creators Updatedです。
pause
goto :eof

:win10
echo Windows 10 Creators Updatedではありません。
pause
goto :eof

ビルド番号やバージョンによるWindows 10の呼び名は以下が参考になります。

参考サイト

Windows 8.1/8/7/VistaでもできましたがWindows 10でも使えるGodMode(神モード)。コントロールパネルや設定の画面から見つけにくい設定画面はここで見つかるかもしれません。

GodModeでは約35ジャンル約220項目が設定画面がダイレクトに呼び出せます。

BitLockerドライブ暗号化、RemoteAppとデスクトップ接続、Windowsファイアウォール、インターネットオプション、インデックスオプション、エクスプローラーのオプション、キーボード、コンピューターの簡単操作センター、サウンド、システム、セキュリティとメンテナンス、タスクバーとナビゲーション、デバイスとプリンター、トラブルシューティング、ネットワークと共有センター、バックアップと復元(Windows 7)、ファイル履歴、フォント、プログラムと機能、ホームグループ、マウス、ユーザーアカウント、音声認識、管理ツール、既定のプログラム、記憶域、言語、自動再生、色の管理、赤外線、地域、電源オプション、電話とモデム、同期センター、日付と時刻

GodModeの画面を呼び出す方法

  1. 適当な場所に新しいフォルダを作る
  2. フォルダの名前を以下に変更する

フォルダ名

GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}

これでフォルダのアイコンが以下のように変化します。

これをダブルクリックするとGodModeの画面が表示されます。

2017年07月10日に配信された2017-07 セキュリティ マンスリー品質ロールアップ (KB4025341)のダウンロードリンクをメモ。

2017年06月のKB4022719を適用していると、Intenet Explorer 11がクラッシュしたり、IEで特定のURLのページの印刷や印刷プレビューをしようとするとエラーが出て印刷できない問題が発生していましたが、今回のKB4025341で解消されたようです。

今回のKB4025341に含まれているWindows Update Clientについては2017年06月のKB4022719から変更はありませんでした。

  • Wuapi.dll のバージョンは 7.6.7601.23806
  • Wuapi.dll のファイル更新日時は 2017年5月10日

ダウンロードリンク

Windows Updateカタログ

直リンク

上記のWindows Updateカタログが正常に表示されない場合は以下よりダウンロードしてみてください。

バッチファイル

Windows7 32bit用のKB4025341のダウンロードからサイレントインストールを行うバッチファイルの参考。

@echo off
set DownloadURL = http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/07/windows6.1-kb4025341-x86_13034fc05179eb9a77c9302b42ef40f85e71b29b.msu
set KbFileName = windows6.1-kb4025341-x86

md c:\InstallKB

bitsadmin.exe /transfer KbFileGet %DownloadURL% c:\InstallKB\%KbFileName%.msu
wusa.exe c:\InstallKB\%KbFileName%.msu /extract:c:\InstallKB 
pkgmgr.exe /n:c:\InstallKB\%KbFileName%.xml /quiet
 
rd /s /q c:\InstallKB

pause
exit

最近のWindows Update Clientについて

このページは投稿時点のものです。最近のWindows Upadate Clientが気になるときは以下のリンク先をご参照ください。たまに見逃すことはありますが、新しいWindows Update Clientを見つけては投稿していますので、このページより新しいバージョンのWindows Update Clientが見つけやすいと思います。

Windows 10 Insider PreviewのISOファイルをダウンロードするのにてこずったのでメモ。

現時点で最新のWindows 10 Client Insider Preview Build 16193 Japanese(日本語版)のISOイメージファイルをダウンロードする例です。

ダウンロード方法

  1. Windows 10 Insider Preview DownloadsのURLを開いてMicrosoftアカウントでサインイン
  2. サインインしたらこの画面が表示される
  3. [Select Edition]のところまでスクロール
  4. ダウンロードしたいバージョンを選択
  5. [Confirm]ボタンを押す
  6. [Select the product language]が表示される
  7. 言語[Japanese]を選択し[Confirm]ボタンを押す
  8. ダウンロードボタンが現れるのでクリックしてダウンロード

Windowsを起動してログオンユーザーを選択する前にCtrl+Alt+Delを押すよう求めたり、または求めないように解除したり、無効・有効を設定する方法をメモ。

この方法はWindows 10/8.1/8/7で共通です。

ローカルセキュリティポリシーから設定する方法

GUIで設定する場合、ローカルセキュリティポリシーは[コントロールパネル]-[管理ツール]から開けます。

設定は[ローカル セキュリティ ポリシー]-[セキュリティの設定]-[ローカルポリシー]-[セキュリティ オプション]にある[対話型ログオン: Ctrl + Alt + Del を必要としない]を開いて[有効]か[無効]かを選択します。デフォルトは[未定義]になっています。

有効と無効の違いは以下の通りです。

無効 Ctrl+Alt+Delの押下を要求する。
有効 Ctrl+Alt+Delの押下を要求しない。

レジストリで設定する方法

ローカルセキュリティポリシーの画面で設定したことをレジストリで設定することもできます。デフォルトの[未定義]のときは以下のDisableCADが存在していない場合があります。そのときは手動で新規で作成してください。

キー HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System
値の名前 DisableCAD
REG_DWORD
値の内容 0 → 無効(Ctrl+Alt+Delを要求する)
1 → 有効(Ctrl+Alt+Delを要求しない)
※デフォルトは[未定義]

コマンド

コマンドプロンプトやバッチファイルからレジストリの設定を行う場合のコマンドは以下となります。

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "DisableCAD" /t REG_DWORD /d "0" /f

値を"0"にして無効(Ctrl+Alt+Delを要求する)にする場合のコマンドですが、 元の[未定義]に戻したい場合は値を"空白"にしても"0"になってしまうのでDisableCAD自体を削除します。

Windowsパソコンに電源を入れて起動したとき、ログオンするユーザーの選択画面がありますが、デフォルトではユーザー名が表示されたアイコンを選択するようになっていますが、設定を変えればユーザー名を入力してからログオンする方法に変更することができます。その画面の設定方法をメモ。

この方法はWindows 10/8.1/8/7で共通です。

Windows 7のログオン画面

ユーザー名を表示する場合

ユーザー名を表示しない場合

GUIで設定する場合はローカルセキュリティポリシーから

GUIで設定する場合、ローカルセキュリティポリシーは[コントロールパネル]-[管理ツール]から開けます。

設定は[ローカル セキュリティ ポリシー]-[セキュリティの設定]-[ローカルポリシー]-[セキュリティ オプション]にある[対話型ログオン: 最後のユーザー名を表示しない]を開いて[有効]か[無効]かを選択します。

有効と無効の違いは以下の通りです。

無効 ユーザー名を表示する場合で、表示されたユーザー名とアイコンを選択してログオンします。(既定)
有効 ユーザー名を表示しない場合で、ユーザー名とパスワードを入力してログオンします。

レジストリ

レジストリからGUIと同じ設定を行うことができます。

キー HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
値の名前 dontdisplaylastusername
REG_DWORD
値の内容 0 → 無効(既定)
1 → 有効

コマンド

コマンドプロンプトやバッチファイルからレジストリの設定を行う場合のコマンドは以下となります。

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "dontdisplaylastusername" /t REG_DWORD /d "1" /f

値を"1"にして有効にする場合のコマンドですが、 元の既定に戻したい場合は値を"0"にします。

Windowsに自動ログオンする方法として、GUIで設定する方法がありますがレジストリで設定する方法があったのでメモ。Windows 7/8/8.1/10で共通です。

これを行えば、ログオンパスワードの入力をスキップして電源ボタンを押したらデスクトップの表示するとこまでの起動ができます。

事前準備

[コンピューターの管理]-[ローカルユーザーとグループ]-[ユーザー]に登録されたユーザーが対象となります。ここではuser01というユーザーで自動ログオンします。

レジストリ

自動ログインを有効にする

キー HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
値の名前 AutoAdminLogon
REG_DWORD
値の内容 0 → 無効(デフォルト)
1 → 有効

ログイン対象のユーザー名を指定

キー HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
値の名前 DefaultUserName
REG_SZ
値の内容 自動ログインしたいユーザー名を指定する

ログイン対象ユーザーのログインパスワード

キー HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
値の名前 DefaultPassword
REG_SZ
値の内容 自動ログインしたいユーザーのパスワードを指定する

ドメイン名の指定(ドメインユーザーで自動ログインする場合)

キー HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
値の名前 DefaultDomainName
REG_SZ
値の内容 ドメイン名を指定する

バッチファイル

例えば、ドメイン名[domain01.local]ユーザー名[user01]パスワード[password01]で自動ログオンするとしたら以下のようになります。WORKGROUP環境の場合DefaultDomainNameの行は不要です。

@echo off
set REGROOT = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
reg add %REGROOT% /v "AutoAdminLogon" /t REG_DWORD /d "1" /f
reg add %REGROOT% /v "DefaultDomainName" /t REG_SZ /d "domain01.local" /f
reg add %REGROOT% /v "DefaultUserName" /t REG_SZ /d "user01" /f
reg add %REGROOT% /v "DefaultPassword" /t REG_SZ /d "password01" /f
pause
exit

AdministratorとWindows Updateを繰り返すスクリプトを組み合わせたらクリーンインストール後のアップデートが楽になりそうです。

GUIで設定する場合

ちなみにGUIで設定する場合の方法は以下となります。

GUIの設定画面の呼び出し方法

設定画面はWindows+Rを押して以下のどちらかのコマンドで呼び出します。

  • control userpasswords2
  • netplwiz

GUIで設定方法

上記で呼び出した画面での設定方法は以下を参考にしてください。

パソコンの遠隔操作で使っているUltraVNCMirrorDriverを組み込んで使ったときのレスポンスの良さは最高に気に入っています。

ですが、IMEを半角英数の入力から日本語入力に切り替えたいとき半角/全角キーを押してもデフォルトのままの設定では切り替えできないため、いつも言語バーをクリックして入力モードを[ひらがな]に変更していました。

使い勝手が悪いので、どうにかならないかな?と思っていたら方法があったのでメモ。

単純にサーバー側とビューワー側の両方の設定を日本語にすればOKでした。

サーバー側(操作される側)の設定

タスクバーのUltraVNCのアイコンを右クリックして[Admin Properties(管理プロパティ)]を開きます。

設定の画面で[Alternate keyboard method(代替キーボード)]にチェックを入れ[OK]を押して完了です。

ビューワー側(操作する側)の設定

UltraVNC Viewerを起動して[Options(オプション)]を開きます。

設定の画面で、[Japanese keyboard(日本語キーボード)]にチェックを入れ[OK]を押して閉じます。

上記だけでは次回使用時にはチェックが外れているので、デフォルトの設定として記憶させておきたい場合は、以下の[Save connection settings as default(接続設定をデフォルトにする)]にチェックを入れてから[Connect(接続)]を押すと次回からも有効になっています。

設定は以上。

まとめ

これで半角/全角キーを押して入力モードを切り替えれるようになり、更に快適にUltraVNCを使えれるようになりました。

今までサーバー側の[Alternate keyboard method(代替キーボード)]は日本語化のメニューによっては[日本語キーボード]と表示されている場合がありますが、こちらだけチェックを入れており、ビューワー側はチェックを入れていませんでした。こんな簡単なことなら早く気が付けば良かったです...。