• ベストアンサー

webbrowserでクリックさせないようにしたい

[言語:C#] [環境:Visual Studio 2005 Express] webbrowserに表示させたページ、あるいはフラッシュに対するクリックを無効に出来ないでしょうか? 可能ならば、WEBページに対するクリックは無効にした上で、 別のマウスイベント(ドラッグでウインドウの移動等)を行えるようにしたいのですが、何か方法はあるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.3

>私が今作っているものはサーバサイドのものではなくwindowsアプリでして、 あぁ、ごめんなさい。 [ComVisibleAttribute(true)] [ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] public class WebBrowser : WebBrowserBase こっちのほうね。 といっても、WebBrowserコントローラーは、IEなどのブラウザの画面をwinアプリ上でホストするってだけじゃなかったっけか? つまりブラウザ上で出来ない事は出来ないし、出来ることは出来るってことになります。

chowwwwwww
質問者

お礼

WebBrowserの設定では無理ということですね。 今は透明コントロールを重ねて目的の処理が行えないかと試行錯誤中です。 他の方の質問を見ているとなかなか難しいようですが。。。 ありがとうございました。

その他の回答 (2)

  • HIRSYU
  • ベストアンサー率51% (45/87)
回答No.2

webbrowserコントロールは、Tridentにレンダリングを行わせて表示するコントロールなはず。 簡単に言うなら、IEを画面に埋め込む感じ。 なので、>ANo.1の言うようにJavaScriptでの制御になると思います。

chowwwwwww
質問者

お礼

なるほど。 javascriptに関しては全く無知ですが、不可能ではないということですね。 余裕ができたらそちらも勉強してみます。 ありがとうございました。

  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.1

Cじゃ無理というか、サーバーサイドスクリプトとして使っている言語であればどう頑張っても無理です。 ブラウザ表示させるのであれば、どんな言語でも結果的にはHTMLに鳴るわけですよね、その時点でプログラム言語はなんにも手出しできない状態 ブラウザであればJavaScriptを駆使するしかない。 けれども、ダウンロード防止のために右クリック禁止にしたところでどうしようもない。 保存の仕方はいくらでもある。 マウスイベントで何か動作をさせたいというのもJavaScriptしかないでしょうね。

chowwwwwww
質問者

お礼

ご返答ありがとうございます。 もしかしたら勘違いなされてるかもしれません。 私が今作っているものはサーバサイドのものではなくwindowsアプリでして、 webbrowserというコントロールから一般のWEBページを表示させるものです。 まだプログラム歴が浅いもので、私が文脈を理解できていないだけでしたら申し訳ありません。

関連するQ&A

  • WebBrowserコントロールでのPrint機能に関して

    現在、Visual C++ 2008 Express Editionでホームページを印刷するアプリを作成中です。そこで、 WebBrowserコントロールを用いて、そこに表示したページを印刷したいのですが、  webBrowser->Print(); を行う前に、  printDocument1->PrinterSettings-> みたいな印刷設定ってできないのでしょうか? また、印刷終了のイベントはPrintDocumentにはEndPrintがあるようですが、これに相当するものはWebBrowserにもあるのでしょうか? よろしくお願いします。

  • WebBrowser コントロールでフレームを操作したり...

    お世話になります。 以下のWebBrowserコントロールの使用法について、ご教授をお願いしますm(_ _)m ■ハイパーリンクがクリックされた場合や、JavaScript等によるページの移動が行われる際に、ページを表示せずに .LocationURL を使ってリンク先を知る方法について ■フレームページの場合に、フレームのHTMLのURLが値が返されてしまい、フレーム内に表示されているページを取得する方法について ■表示しているHTMLの、フレームを指定してページを移動する方法について(WebBrowserコントロールによって、フレームを操作する方法について) 以上、1つでも構いませんので、知識をお持ちの方はご指導の程お願いしますm(_ _)m なお・・・ 開発環境は・・・ Visual Studio.NET(VB7/.NET Framework1.0)で開発しています。 ※.NET Framework 2.0環境は対応していません。ですので、.NET Framework 2.0等の命令は使えないです;;

  • C# webBrowser html

    Visual Studio Express 2013 C#の初心者です。 webBrowserで開いたページ内のボタンを自動でクリックしたいんですが、html内の(ほにゃらら)がアクセスするたび変わるので HtmlElementCollection{ここがわからんbuttons?} = webBrowser1.Document.GetElementsByTagName("会員の方はこちらよりログインしてください"); {ここがわからんbuttans?}[ ? ].InvokeMember("click"); なんてやってみたけどダメですね、どうかよろしくお願いします。 クリックしたいところのhtmlは以下です。 <li class="header-forNew-login"> <a title="会員の方はこちらよりログインしてください" onclick="_gaq.push(['_trackEvent', 'top', 'no- login', 'btn-login']);" href="https://www.ほにゃらら"> <span class="icon-user"></span><strong>ログイン</strong> </a> </li> ちなみにhtmlも初心者です

  • WebBrowser上でjavascriptを追加するには

    表題でご存知の方いらっしゃいましたらお願いします。 現在ExcelのVBAからWebBrowserを使っています。 最終的な目的は「WebBrowser上でクリックした画像のURLを クリップボードに保存したい」ですが、いろいろとその前段階で沈没寸前です。 WebBrowserのイベントに該当するものもなく、また開いているページの イベントも拾う方法がわかりませんで、 調べた結果、JavaScriptと連携させることを思いました。 既存のWebページを開いて、そこにJavascriptを埋め込んでと 思ったのですが、できません。 厳密にはinnerhtmlで追記できたのですが、無反応です。 そこでJscriptなども試しましたがイベントを検知できるやり方ができませんでした。 Javascriptを埋め込む方法をご存知の方、または別のアプローチが 有るという方どうぞお願いします。

  • トラックバーをクリックした時のつまみの位置について

    トラックバーのつまみ以外の場所をクリックするとマウスカーソルの位置に関係なく、ページサイズで設定されている量だけつまみが移動するようですが、 クリックした位置につまみを移動するにはどうすればいいですか? (ダイアログベースのプログラムでダイアログに横向きのトラックバーを貼り付けている場合) --- 実行環境 --- Microsoft Visual C++ 2010 Express WIN32 ユニコードビルド C言語

  • webbrowserに表示させたページのリンクをクリックしたい。

    お世話になります。 vb2005でウェブブラウザにページを表示させて webbrowser1.navigate("http://yahoo.co.jp") 5番目のURLをクリックさせるのはどうすればいいでしょうか? 教えてください。お願いします。

  • c# webBrowser 内のpdfファイルについて

    Visual Studio 2005 C# + iTextSharp で、Windowsフォームを開発しています。 Form1 内の webBrowser 上に、複数ページが存在するpdfファイルを表示しています。 今、pdfファイルの何ページ目がwebBrowserに表示されているかを取得する方法はありますのでしょうか?

  • WebBrowserコントロールでページが閉じられたことを検出したい

    こんにちは。いつもありがとうございます。 .net初心者です(しかもVB) 今回も質問です。 javascript等でwebbrowserが閉じられた場合にそれを検出したいのですが、どのようにしたらよいでしょうか? ネット上で調べたところWindowClosingというイベントがあるみたいですが、私の使っているものにはないみたいでした。 なくなってしまったのでしょうか?VisualBasic2008です。 ちなみに複数タブでページを開けるタブブラウザを作っているのですが、 scriptでページが閉じられた際、見た目上はなにも起こりませんが、 別のタブに移動してからまたその(閉じられたページの)タブに戻ろうとすると、タブは移動しているもののタブページ内のブラウザは表示されません。 (さもページが透明になってしまったかのように前に見ていたページがそのまま表示されている状態です。) これを、タブも一緒に閉じたいのでなんとかWebBrowserコントロールが閉じられたことを検知したいと思っています。 ページが閉じられる際に、WebBrowserのdisposedイベントが呼ばれているかと思って試してみましたが、呼ばれていないようでした。 なにかいい案がありましたらよろしくお願いします。

  • [C#]webbrowserのstop()について

    C#のwebbrowserのstopはどういったことをしてくれるんでしょうか? ググると、一番わかりやすいのが 『保留中のナビゲーションをキャンセルし、バックグラウンド サウンドやアニメーションなどの動的なページ要素をすべて停止します。』 ウェブページをwebbrowserで読み込むと、いらないページ(広告ページなど)を読み込むので、 指定のページが読み込み終わったら、もう他のは読み込まないとしたいのですが、うまくいきません。 webbrowser1.Navigated("http://www.yahoo.co.jp") でアクセスして、 webBrowser1_DocumentCompleted のイベントの中に、 if (e.Url == "http://www.yahoo.co.jp"){ webbrowser1.stop();} と書いたのですが、それ以降も読み込んでいます。。。 ただ、これを書いたほうが確かにいつもより読み込みページ数が少なくなるような気がします。 調査の仕方としては、 webBrowser1_DocumentCompleted が発生した時のe.Urlと時間(DateTime.Now)を調査して、 http://www.yahoo.co.jpを読み込んだあとに、まだ続いて広告などを読み込んでしまいます。 textBox1.Text += e.Url.ToString() + "[" + DateTime.Now + "]\r\n"; というふうに書いて見ています。 狙いとしては、http://www.yahoo.co.jpが読み込み終わったら、webbrowserの残されている読み込みページを読まずに、終了して欲しいのです。 文書がわかりにくくて済みません。 ヒントでもいいので教えていただけると助かります。

  • C#2010 webBrowserについて

    こんにちは。WebBrowserコントロールを使ってウェブページを表示するプログラムを作成しています。 私の環境はWindows7の64bitでIE9がインストールされています。また、.NETFrameworkは4.5です。 WebBrowserはデザイナ上でフォームに設置しています。 友達の環境で動かないと報告を受けたので、プログラムを簡略化して private void Form1_Load(object sender, EventArgs e) { this.webBrowser1.Navigate("https://www.google.co.jp/"); } これだけにして試してもらいましたが、真っ白で何も表示されないと報告を受けました。 その友達のPCではIE10がインストールされています。また.NETFrameworkは4.0でした。 別の二人の友達の環境では正常に動いたようです。(こちらは、環境の詳細を聞いていません。) 特にエラーが出るわけでもなく、真っ白で何も表示されないという事で困っています。 何を疑って調べればいいのかが、まず分かりません。 以上、宜しくお願い致します。

専門家に質問してみよう