0

この質問はすでに行われていることは知っていますが、適切な答えが見つかりませんでした。これが私の質問です。Webブラウザコントロールを使用してローカルマシンに印刷プレビュー用のPDFファイルをロードしようとしましたが、正常に動作しますが、問題は、Adobe Readerがインストールされていない場合、Webブラウザコントロールがプレビュー用にファイルを開かないことです。たとえば、FoxitReaderがインストールされている場合などです。 、また、webbrowserコントロールはサポートしていません。インストールされているアプリケーションを見つけるためにローカルマシンレジストリにアクセスできません。アプリケーションはローカルユーザーにもインストールされているためです。

 webBrowser1.Navigate("......");

webbrowserがadobereaderでファイルを開くことができない場合にアラートを表示することは可能ですか?

4

1 に答える 1

0

AdobeReaderの検出

お役に立てれば。

編集:

webBrowser1.DocumentText = @"
            <html>
            <head>
                <script type='text/javascript'>
                    var isInstalled = false;
                    var version = null;
                    if (window.ActiveXObject) 
                    {
                          var control = null;
                          try {
                            // AcroPDF.PDF is used by version 7 and later
                            control = new ActiveXObject('AcroPDF.PDF');
                          } catch (e) {
                            // Do nothing
                          }
                          if (!control) 
                          {
                            try 
                            {
                              // PDF.PdfCtrl is used by version 6 and earlier
                              control = new ActiveXObject('PDF.PdfCtrl');
                            } 
                            catch (e) 
                            {
                              alert(e);
                              //return;
                            }
                          }
                          if (control) {
                                isInstalled = true;
                                version = control.GetVersions().split(',');
                                version = version[0].split('=');
                                version = parseFloat(version[1]);
                                alert('Adobe reader is installed. Version: ' + version);
                          }
                          else
                           {
                                alert('Adobe reader is not installed');
                           }
                    } 
                    else 
                    {
                      // Check navigator.plugins for ""Adobe Acrobat"" or ""Adobe PDF Plug-in""*
                    }

                </script>
            </head>
                <body>
                </body>
            </html>";
于 2012-05-05T05:40:55.543 に答える