質問: VB.NET(Windowsアプリ)からサーバ上のPDFファイルをブラウザで開きたいです。 以下の通りに書いたのですが、上手くいきません。 ``` System.Diagnostics.Process.Start("http://27.134.xxx.xxx/xxx/xxx/xxx/20180110085030.pdf") ``` System.ComponentModel.Win32Exception "指定されたファイルが見つかりません。"が出てしまいます。 ブラウザを立ち上げてこのURLを叩けばPDFファイルは開けますので、ファイルは存在しているはずです。 なにか誤りがあればご指摘ください。 よろしくお願いいたします。
回答: algさんの回答によるとProcess.StartでURL指定はダメとのことなので、別の手段です。 尚、当方環境がないため、動作確認はできておりません。 ShellExecuteAPIを使う。 これはエクスプローラー等からダブルクリックしたときのデフォルトのアプリケーションが起動します。 URLを指定すればデフォルトアプリが起動するはずです。 デフォルトアプリがブラウザではない場合、次の方法。 エクスプロラーにURLを付加して起動する。 Process.Startでできるかはわかりませんが、次のような感じでどうでしょうか。 うまくいけばデフォルトブラウザが起動するはずです。 ``` System.Diagnostics.Process.Start("EXPLORER.EXE http://27.134.xxx.xxx/xxx/xxx/xxx/20180110085030.pdf") ``` ブラウザ+URLで起動する。 以下はインターネットエクスプローラーの場合。 パスは環境に合わせて修正してください。またブランクを含むパスが認識できない場合は、ダブルクォーテーションで囲む等してみてください。 ``` System.Diagnostics.Process.Start("C:\Program Files\Internet Explorer\iexplore.exe http://27.134.xxx.xxx/xxx/xxx/xxx/20180110085030.pdf") ``` ブラウザは特定しないといけないので、数種類使い分けている場合は融通が利きません。