問題タブ [shdocvw]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vb.net - IE オートメーション ブックまたはリソース?? MSHTML/ShDocVw VB.Net の使用
VB.NET を使用した Internet Explorer の自動化について説明している書籍または Web サイトをお勧めできますか? mshtml と ShDocVw.dll がこれを実行できることは理解していますが、それを説明するリソースが必要です。ボタンをクリックするだけでなく、値を読み書きしたい。
これまでに出会った唯一の本は .Net Test Automation Recipes です。これは私のためのものですか?
ありがとう!
asp.net - WatiN を使用して、ページの head 部分、特に meta タグにアクセスするにはどうすればよいですか?
WatIn は、Web ページの表示部分にプログラムでアクセスするための優れた機能を提供します。
ページの先頭部分、具体的には META タグにアクセスしたい。Watin は TITLE へのアクセスを許可してくれますが、AFAICT 以外には何もありません。ShDocVw.InternetExplorer へのアクセスを許可する InternetExplorer プロパティがあります。これが道の始まりかもしれないと思います。たとえそれが正しい道であっても、私はそれに従う方法を知りません。
c# - SHDocVw.WebBrowserClass 登録してイベントを更新する
ユーザーがSHDocVw.WebBrowserClassを使用して、つまりC#を使用してページの更新をいつ実行したかを知る方法はありますか
dll - Interop.SHDocVw.dllを使用するこの名前空間/dllはどこにありますか?
私は以前にこれを行ったことがあります。ネットからDLLをダウンロードしたかどうかは覚えていませんが、ウイルスに感染したくありません。Webbrowswerコントロールが提供しない追加機能を使用できるように、この名前空間にアクセスする必要があります。
Com参照を正確に追加するにはどうすればよいですか。または、どこかからのdllが必要ですか?
ありがとう
c# - c# SHDocVw.InternetExplorer を使用します。最後にクリックしたリンクの URL を見つけるにはどうすればよいですか? または、最新の get リクエスト URL ですか?
SHDocVw.ShellWindowsClass() から SHDocVw.InternetExplorer にアクセスしています。ブラウザー インスタンスが現在表示されているページ (LocationURL プロパティ) を確認できますが、本当に必要なのは、ブラウザーに対して実行された最後の get 要求です。私の特定のニーズは、現在の Web ページのリンクを介してユーザーのシステムにダウンロードされたファイルを処理するためにアプリケーションが起動されたことです。そのファイルの URL を知る必要があります。LocationURL は、リンクがあるページの URL を教えてくれますが、ファイル/リンクの URL が必要です。
編集: 私が接続しようとしている Web アプリケーションは SharePoint です。最後にクリックされたリンク (ダウンロードされたファイル) の URL を Internet Explorer から抽出する方法を見つけることができなかったので、SharePoint 自体からその情報を取得する方法を見つけるか、名前にピギーバックする方法を見つけたいと考えています。 SharePoint が MS Office ドキュメントのダウンロードを管理するために使用する ActiveX コントロール。SharePoint/Name ActiveX の専門家はいますか?
internet-explorer - SHDocVw.InternetExplorerでVistaでXPと同じウィンドウを再利用するにはどうすればよいですか?
IEを使用してヘルプページを表示するプログラムに取り組んでいます。Visual Studio 2008でC#を使用して.Net Framework 2.0にコンパイルしています。WindowsXPでは、すべてが期待どおりに機能します。Vistaでは、ヘルプボタンをクリックするたびに、新しいIEブラウザで新しいウィンドウが表示されます。他の誰かがこれを見た、またはこれを回避する方法を知っていますか?
これが私がページを表示するために使用しているコードです。strDefaultは、ロードしようとしているhtmlヘルプファイルの場所です。また、すべてのフラグ、postData、およびヘッダーは空です。これはメインページをロードするだけなので、ターゲットフレームは空白です。この後、特定のフレームをロードするコードがあります。この部分は正常に機能します。Vistaで新しいウィンドウを開くのはNavigateメソッドです。フラグオプションのいくつかを使用してみましたが、役に立ちませんでした。
c# - サービスの問題から実行されている WebBrowser コントロール
わかりました、これが取り引きです - 私はWebBrowser
サービスから Windows フォーム コントロールを実行しています。私はそれがノーノーであることを知っていますが、うまくいくようです.
私が問題に直面しているのは、ブラウザのページが読み込まれるのを待つことだけです。通常のアプリケーションでは、次のようなことをするだけです
明らかに、これはサービスからは機能しません。
代替手段としてこれを試しました:
ただし、その Navigate メソッドは機能しません。ReadyState が LOADING から変わることはありません。
私が疑問に思っているのは、Windows フォームの WebBrowsers は本質的に非同期のように見えるということです。これは、ActiveX コントロールが独自のスレッドで既に実行されているということですか?
適切なインターフェイスを介して基になる ActiveX コントロールにアクセスして、完了するまで待つことはできますか?
c# - IWebBrowserApp.Navigate()投稿データを送信する方法
を介して利用できるNavigateメソッドを使用してPOSTデータを送信する方法の良い例を誰かが教えてくれたらとてもうれしいですSHDocVw.IWebBrowserApp
。
たとえば考えてみましょう。
私たちが行くべきページは次のとおりです:http ://example.com/check.php
また、usernameとpasswordという名前の2つの入力フィールドの値を送信する必要があります。
編集
C#アプリで、WindowsOSで利用可能なネイティブのInternetExplorerバージョン7以降を使用して、HTTPリクエストを特定のURLに送信し、POSTメソッドを使用してユーザーのユーザー名とパスワードをサーバー側に渡そうとしています。 HTTP応答を処理するページ。
この方法を使用IWebBrowserApp
すると、Navigate
Internet Explorerの新しいウィンドウ/インスタンスを開いて特定のページ(ローカルまたはWeb内)に送信できます。指定されている場合は、POSTデータとカスタムヘッダーも送信できます。
しかし、主な問題は、ブラウザで実行するPOSTリクエストにデータを書き込む方法がわからないことです。
助けていただければ幸いです。
html - Android: 特定の Web ページから問題のあるデータを取得するにはどうすればよいですか?
私は .NET と ShDocVw を何年も使用して、Web ページからデータを取得してきましたが、克服できなかった問題はありません。このウェブサイトは私を打ち負かしました。ライブラリ検索ページからタイトルやその他の情報を取得するのは簡単な作業のように思えますが、それを取得できるデータが表示されません。通常、私は DOM を調べるだけですが、データはそこにありませんでした。ソースを表示しましたが、データがありませんでした。私はとても混乱しています。
私は現在 Android を学んでおり、それが私の問題を解決したい方法ですが、.NET の方が簡単であれば... 今、私はあらゆる形で助けを求めます。
c# - interop.Shdocvwの使用中にエラーが発生しました
私はウェブブラウザコントロールに接続しようとしましたが、iwebbrowser2がこのようなiwebbrowser2を実装する必要があるという例外を継続的にスローしました、それから私はグーグルでこれに対する解決策を見つけました、そしてそこからマイクロソフトウェブブラウザを選択しましたそして私はしました。
次にコードを書いた
スタックオーバーフローの他のスレッドがsuggest.added参照introp.SHdocveとして、しかし私がビルドすると68エラーが発生しました:
エラー64
アセンブリ'e:\ XMLreader \ lib \ Interop.SHDocVw.dll'と'e:\ XMLreader \ XMLreader \ obj \ x86 \ Debug\Interop.SHDocVw.dll'の両方にある相互運用機能タイプ'SHDocVw.tagREADYSTATE'を埋め込むことができません。'EmbedInteropTypes'プロパティをfalseに設定することを検討してください。
このdllを右クリックして、埋め込み相互運用機能をfalseに変更しましたが、効果はありませんでした。
コメントアウトするvar ie = new IE( frm1.WebBrowser1);
と、68個のエラーがすべてなくなりました。