C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: IEのアドレスバーを表示するが入力を不可にする方法


(過去ログ 122 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■72822 / inTopicNo.1)  IEのアドレスバーを表示するが入力を不可にする方法
  
□投稿者/ 押勝 (1回)-(2014/07/22(Tue) 11:45:11)

分類:[VB.NET/VB2005 以降] 

開発環境:Win7、VB2008SP1
対象環境:Win7以上

お世話になっております。
初めての投稿になります。よろしくお願いいたします。

現在、VB2008SP1で開発をしています。
VBで作成したフォームからボタン等でインターネットエクスプローラーを起動し、
特定のページを表示することをしています。
こんな感じで、IEを起動しています。

_ie = New SHDocVw.InternetExplorer()
_ie.Visible = False

_ie.ToolBar = False 'ツールバー非表示
_ie.MenuBar = False 'メニューバー非表示
_ie.AddressBar = True 'アドレスバー表示

'画面中央に表示
_ie.Width = 1000
_ie.Height = 740
_ie.Left = (System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width - _ie.Width) / 2
_ie.Top = (System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height - _ie.Height) / 2

_ie.Navigate2("表示したいURL")
_ie.Visible = True

IEのツールバー等は余計な操作をしてほしくないので非表示にしますが
アドレスバーは、表示したいURLが間違いなく表示されていることを確認
する意味で表示させたいと思っています。
しかし、表示するとアドレスバーの入力ができてしまいますので、
別のページに行くことができてしまいます。

そこで質問ですが、

アドレスバーを表示するが、入力を不可にする。

ということは、可能でしょうか。

こんな感じでできるといいなあ、と思ったりするのですが。

_ie.AddressBar.Enabled = False


よろしくお願いいたします。


引用返信 編集キー/
■72823 / inTopicNo.2)  Re[1]: IEのアドレスバーを表示するが入力を不可にする方法
□投稿者/ WebSurfer (313回)-(2014/07/22(Tue) 12:20:12)
No72822 (押勝 さん) に返信
> 開発環境:Win7、VB2008SP1
> 対象環境:Win7以上

IE のアドレスバーを使わないで、別に Label などを配置して、そこに "表示したいURL" を
表示するということではダメなんですか?

#質問とは関係ない話ですが、表示させるだけなら System.Windows.Forms.WebBrowser を使
ったほうがいろいろ簡単だと思いますが、使えない理由があるのでしょうか?
引用返信 編集キー/
■72824 / inTopicNo.3)  Re[2]: IEのアドレスバーを表示するが入力を不可にする方法
□投稿者/ 押勝 (2回)-(2014/07/22(Tue) 13:32:02)
WebSurfer さん

ありがとうございます!


> IE のアドレスバーを使わないで、別に Label などを配置して、そこに "表示したいURL" を
> 表示するということではダメなんですか?

IEの標準的な外観をそれほど変更せずに
(アドレスはアドレスバーに表示されているという基本的なことを変更せずに)
対応できないものか、とお客さんにいろいろと口を挟まれておりまして。。。


> #質問とは関係ない話ですが、表示させるだけなら System.Windows.Forms.WebBrowser を使
> ったほうがいろいろ簡単だと思いますが、使えない理由があるのでしょうか?

IEを表示させた後、外部システムへPOST送信等を行う機能を追加しているのですが
その外部システムの担当者(社外の方)から、上記の方式は動作保障していないと
言われまして、泣く泣くIEを単独起動させることで行っているのです。。。


アドレスバーの件は、色々調べているのですが見つからなくて・・・
Labelの件等、いただいたご意見を参考に、もう少し検討してみます。

ありがとうございました。

引用返信 編集キー/
■72825 / inTopicNo.4)  Re[1]: IEのアドレスバーを表示するが入力を不可にする方法
□投稿者/ 魔界の仮面弁士 (53回)-(2014/07/22(Tue) 14:27:16)
No72822 (押勝 さん) に返信
> アドレスバーを表示するが、入力を不可にする。

少し実験してみましたが、とりあえず、アドレスバーのところにある
Edit コントロール(TextBox)に EM_SETREADONLY メッセージを投げつければ、
それっぽくなりそうな感じです。
引用返信 編集キー/
■72826 / inTopicNo.5)  Re[2]: IEのアドレスバーを表示するが入力を不可にする方法
□投稿者/ 押勝 (3回)-(2014/07/22(Tue) 15:52:33)
魔界の仮面弁士 さん

ありがとうございます!

> 少し実験してみましたが、とりあえず、アドレスバーのところにある
> Edit コントロール(TextBox)に EM_SETREADONLY メッセージを投げつければ、
> それっぽくなりそうな感じです。

アドレスバーのところにそのようなコントロールがあるのですね!
サーチ不足でした。。申し訳ありません!
ワタクシでは時間がかかりそうですが、ちょっと試してみます!

お忙しいところ実験していただき、ありがとうございました。

引用返信 編集キー/
■72829 / inTopicNo.6)  Re[3]: IEのアドレスバーを表示するが入力を不可にする方法
□投稿者/ 甕星 (31回)-(2014/07/22(Tue) 18:08:56)
過去の歴史的な経緯を踏まえて「出来ない」と答えておいた方が良いと思います。

WEBブラウザの外観(特に接続先URLなど)を偽装することで、偽ホームページに誘導するようなクラック手法が使われ、WEBブラウザのセキュリティホールとして指摘された事がありました。それに対する対策として外観を変更できる部分を制限してきた経緯があります。昔は簡単に非表示に出来たんです。WEBブラウザのURL表示は意図的に改変を難しくしている部分なので、安易に迂回して何とか表示を変えようとすると、仮に現時点では成功しても後で困るかと思います。

またショートカットキー(例えばCtrl+Oとか、Alt+Homeとか)による操作でも別のホームページに移動することは可能です。異図したURL以外への接続を完全に防止するにはProxyサーバーを構築して接続先を制限するとか、プラグインで動作を制限するといったことが必用です。それらの本質的な対策を行なわないなら、ユーザーがURLを変更する可能性があると言う前提で、考えた方が良いでしょう。
引用返信 編集キー/
■72830 / inTopicNo.7)  Re[4]: IEのアドレスバーを表示するが入力を不可にする方法
□投稿者/ 押勝 (4回)-(2014/07/22(Tue) 19:43:21)
No72829 (甕星 さん) に返信

甕星 さん

貴重な情報ありがとうございます。


> 過去の歴史的な経緯を踏まえて「出来ない」と答えておいた方が良いと思います。
>
> WEBブラウザの外観(特に接続先URLなど)を偽装することで、偽ホームページに誘導するようなクラック手法が使われ、WEBブラウザのセキュリティホールとして指摘された事がありました。それに対する対策として外観を変更できる部分を制限してきた経緯があります。昔は簡単に非表示に出来たんです。WEBブラウザのURL表示は意図的に改変を難しくしている部分なので、安易に迂回して何とか表示を変えようとすると、仮に現時点では成功しても後で困るかと思います。

なるほど。
これらの点をお客さんに説明し、説得してみることを検討いたします。


> またショートカットキー(例えばCtrl+Oとか、Alt+Homeとか)による操作でも別のホームページに移動することは可能です。異図したURL以外への接続を完全に防止するにはProxyサーバーを構築して接続先を制限するとか、プラグインで動作を制限するといったことが必用です。それらの本質的な対策を行なわないなら、ユーザーがURLを変更する可能性があると言う前提で、考えた方が良いでしょう。

一応、その前提があるというお話はしております。
「本質的な対策」は難しい(コスト的 or 時間的・・・)と思われるので、
ユーザーが操作することまでは防げない。しかし、最初の起動時くらいは
操作しにくい状態で表示したい、、、という考えがありました。

社内でも協議し、検討してみます!
ありがとうございました。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -