プリンタの監視通知が来たかどうかは、FindNextPrinterChangeNotificationでわかる。
FindNextPrinterChangeNotification 関数 (Winspool .h) - Win32 apps | Microsoft Docs
監視通知は、監視スレッドを別に立てて、そちらで受けることにした。
こんな感じ。
ThreadProcの中が監視ループ。
1分監視したら、強制的に終了するようになっている。
その1分の間に、メモ帳開いて、既定プリンタで印刷しないといけないので大変。
実行するとこうなるので、すぐさまメモ帳開いて何かしら既定プリンタで印刷する。
バババババーッって出てくるnotify!
1分間が終わるとプログラムも終了。
ただし、このプログラム、Microsoft XPS Document Writerなどを既定のプリンタとして、デバッガでDebugビルドを実行すると、
こういうのが出る。
Microsoft XPS Document Writerは関係無いと思うんだけど、Debugビルドだと出る。Releaseビルドはいまんとこ出てない。