FindNextPrinterChangeNotification

プリンタの監視通知が来たかどうかは、FindNextPrinterChangeNotificationでわかる。

FindNextPrinterChangeNotification 関数 (Winspool .h) - Win32 apps | Microsoft Docs

監視通知は、監視スレッドを別に立てて、そちらで受けることにした。

こんな感じ。
ThreadProcの中が監視ループ。
1分監視したら、強制的に終了するようになっている。
その1分の間に、メモ帳開いて、既定プリンタで印刷しないといけないので大変。

実行するとこうなるので、すぐさまメモ帳開いて何かしら既定プリンタで印刷する
実行するとこうなるので、すぐさまメモ帳開いて何かしら既定プリンタで印刷する

実行するとこうなるので、すぐさまメモ帳開いて何かしら既定プリンタで印刷する。

バババババーッって出てくるnotify!
バババババーッって出てくるnotify!

バババババーッって出てくるnotify!

1分間が終わるとプログラムも終了。
1分間が終わるとプログラムも終了。

1分間が終わるとプログラムも終了。
ただし、このプログラム、Microsoft XPS Document Writerなどを既定のプリンタとして、デバッガでDebugビルドを実行すると、

こういうのが出る
こういうのが出る

こういうのが出る。
Microsoft XPS Document Writerは関係無いと思うんだけど、Debugビルドだと出る。Releaseビルドはいまんとこ出てない。

Sample/winapi/FindNextPrinterChangeNotification/FNPCN/src/FNPCN at master · bg1bgst333/Sample · GitHub