TechNote

事務屋のおぼえがき

【Windows】「Win32アプリケーションから印刷しています」が出ないようにするコマンド

Windwos11(22H2)ではメモ帳等で印刷ボタンを押すと、下図のような「Win32アプリケーションから印刷しています」というダイアログが出るようになりました。以前からプリンタに関するメンテナンスは「メモ帳からの印刷ダイアログが最速」と考えている身としては放っておけません。そこでこの画面をなくすためにレジストリ変更のコマンドで対応します。

背景:「Win32アプリケーションから印刷しています」を推さない理由

まず、Windowsにおいて、Office等のようにアプリ側で印刷画面を設けているような場合、印刷ボタンを押すと下図のような画面が出てくる。 この画面は印刷を目的に用意された画面であり、プリンタ全体に関する設定変更はここからはできない。
ユーザはこの画面を準備して電話してきて、「このプリンタのデフォルト設定をこうしてほしい」「このプリンタを"通常使うプリンタ"にしてほしい」「最近課内に導入したプリンタが選択肢にでてこない」等と言ってくることが多い。が、この画面からは当然できない。

一般的にはプリンタ設定をする際、「設定」⇒「デバイス」⇒「プリンターとスキャナー」あたり(※Windowsのバージョンによってこの辺のメニュー構成はころころ変わっている)から行うものなので、ユーザに「設定⇒デバイス⇒プリンターとスキャナに進んでください」などと伝えるものだと思う。
だが、社内ActiveDirectoryの「プリンターの展開」を使用しているような場合は、この「プリンターとスキャナー」画面への反映がなかなかされないことがある。なので、この「プリンターとスキャナー」も使用を避けたいところ。この画面をユーザへ案内すると話がややこしくなることが多い。

そこで個人的には、メモ帳を起動して印刷ダイアログを出すという方法を常々とっていた(※下図)。この印刷ダイアログであればActiveDirectoryの「プリンターの展開」により配布されたプリンタも即時出現するので常に信頼できる。ユーザのアテンドも常にスムーズに進む。

だが、ここから本題。
Windows11(22H2)では、この画面が件の「Win32アプリケーションから印刷しています」に変わっている。そして「Win32アプリケーションから印刷しています」は、上記Officeの印刷画面と同等のもので、設定変更などはできない。

そこで「Win32アプリケーションから印刷しています」ではなく、従来のレガシーダイアログがでるようにレジストリにより設定変更する。

「Win32アプリケーションから印刷しています」が出ないようにするコマンド

「Win32アプリケーションから印刷しています」ではなく、従来のレガシーダイアログがでるようにレジストリにより設定変更する方法は簡単。以下のコマンドをコマンドプロンプトから実行する。または、.bat拡張子で保存して、バッチファイルを実行するだけ。

reg add "HKCU\Software\Microsoft\Print\UnifiedPrintDialog" /v "PreferLegacyPrintDialog" /d 1 /t REG_DWORD /f

「Win32アプリケーションから印刷しています」が出ないようにするコマンド実行時ただ一つの注意点

「Win32アプリケーションから印刷しています」が出ないようにするコマンド実行時のただ一つの注意点は…

ユーザ権限で実行すること

です。
このレジストリはHKEY_CURRENT_USER(=HKCU)に属するものなので、ユーザ権限で実行する必要があります。レジストリキーだからと癖で管理者権限で実行した場合は、管理者でログオンしたときの挙動だけがレガシー印刷ダイアログに変更されてしまいますのでご注意ください。
ちなみにHKCUで変更するものなので、再起動なしで設定は反映されるはずです。