- 締切済み
Windowsアプリからブラウザ起動と終了
いつもお世話になっております。 Windowsアプリケーション開発を行うことになり、技術的に実現可能か否かの調査を行っております。 ご存知の方、どうかご教授ください。 ■やりたいこと WindowsアプリケーションからPC内のデフォルトブラウザを起動し、特定URLを表示する。 そのブラウザのURLにてログインなどの処理を行い、パラメータを受け取る。 ブラウザを終了させ、Windowsアプリケーションに戻る。 ■環境 Windows7 or 8 .NET Frameworkは必要に応じてインストール可能 他、必要な環境があれば、Windows標準コンポーネントであればインストール可能 どうぞよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- anmochi
- ベストアンサー率65% (1332/2045)
う~ん、トータルで考えると難しそうだねぇ。 >PC内のデフォルトブラウザを起動し、特定URLを表示する。 これはWindowsに設定されているhttpプロトコルのデフォルトハンドラーを起動するというのでできる。 規定のブラウザという奴やね。 > そのブラウザのURLにてログインなどの処理を行い、パラメータを受け取る これはあるいは無理かも知れない。そのブラウザがHTML部分をどう保持しているか、外部プログラムからちょっかいをかける方法があるかどうかは分からないからだ。 IE限定とかそういう風にしてしまえばなんとかなると思うけど、 そしたら上のデフォルトブラウザを起動とつじつまが合わないし・・・・。 また、動作させる環境が社内ならいいけど、実はWindows7にはIEがバンドルされていないエディションがあって、それだとIEを起動しようとするとエラーになってまう。 > ブラウザを終了 これは最初にプログラムからブラウザを子プロセスとして起動させるなら子供の制御はできるので簡単だ。 やりたい事自体は単にどっかのWebサイトでログイン認証をしてその認証情報を得るという事っぽいので、Windowsアプリケーションに内部でIEコンポーネント(アプリケーションのフォームの中にIEの中身を表示する機能がある)を動作させてやりとりするっちゅう方が良いかも知れない。
- kamikami30
- ベストアンサー率24% (812/3335)
可能です。 ただ、無駄に面倒そうです。 やりたいことの目的がいまいちわかりません。何らかのwebページの希望の情報を取得出来ればいいんですかね? >PC内のデフォルトブラウザ これは…面倒そうですよ。 ユーザーによってデフォルトブラウザは違いますから、Windows7と8で動作するブラウザ全てに対しての処理を書き、デフォルトブラウザを判定したあとにいずれかの処理を行うと言う意味ですね。 Webから情報取ってくるだけなら、デフォルトブラウザにする必要性が全然ないと思うんですよね。 ブラウザが良いならIEでいいんじゃないですかね?最初からインストールされてますし。 あと、環境は動作環境だけじゃなくて、開発環境も書いた方がいいんじゃないかと思います。
お礼
やりたいことがうまく伝わっていないようで失礼しました。 回答No.2の推測通りで、外部サイトのログイン認証をWindowsアプリから取ってくるということでした。 ご回答ありがとうございました。
お礼
推測されるとおり、外部サイトでのログイン認証を取得したいです。 ただ、ログイン手続き(Web上でのID/Passを入力)はユーザ自身が行います。 なので、ある程度できることがわかりました。 ただ、その具体的な手法がわかりません。 ご教授いただけないでしょうか。 ※やはりWebViewコンポーネントを利用したほうが簡単なのでしょうか。