Adobe Readerとの格闘 その2

結局何が原因かと言うとAdobe Readerとの格闘 その1で参照したMSDNのフォーラムに書かれていた次の現象

WebBrowserコントロール内で参照されている
Acrobat Reader の ActiveXコントロールが終了する前に
アプリケーションが終了すると発生する事です。

じゃぁってことで、どういう状態になっているのかを調べてみる。
SPY++でみると...

  • PDFを表示すると"AcrobatSDIWindow"クラスのウィンドウが生成される
  • アプリケーションエラーにならず、正常に終了できる場合はプログラム終了時に消えている
    1. 逆にアプリケーションエラーの場合はプログラム終了後も消えていない
    2. しばらく放置していると消える

さらに...

  • EnumWindowsにより列挙できる

プログラムが終了するときに先に閉じちゃえばいいのか?

Adobe Readerとの格闘 その3