問題タブ [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.

0 投票する
1 に答える
2592 参照

c# - SHDocVw.InternetExplorer.Navigate を使用して POST で Cookie を送信する方法は?

問題: 私たちの組織には、c#/.Net2 で書かれた自家製のシングル サインオン アプリがあり、何年も機能しています。最近、アプリが Outlook Web Access 2010 で動作しないことがわかりました。いくつかの Web 検索で、この問題を参照するSSO ベンダー ( Novell KBおよびCitrix KB ) からの記事がいくつか見つかりました。OWA2010 は送信時に JavaScript を実行し、「PBack=0」と呼ばれる Cookie を追加します。この Cookie が投稿に含まれていない場合、認証エラーが発生します。

質問: SHDocVw.InternetExplorer の Navigate メソッドに Cookie を含めるにはどうすればよいですか?

0 投票する
1 に答える
145 参照

c# - 「適用」または「呼び出し」機能を複数回使用することはできません

SHDocVw DLL を使用して、C# から Internet Explorer インスタンスを開いて操作しています。いくつかのテキスト ボックスの onkeyup イベントを有効にする必要があります。これは私が使用するコードです:

これは「適用」への最初の呼び出しでは機能しますが、2 番目の呼び出しでは「System.MissingMemberException: 適用の呼び出し中にエラーが発生しました。」というエラーが生成されます。この問題は、「適用」の代わりに「呼び出し」を使用した場合にも発生します。ただし、イベント呼び出し関数の1つを「適用」から「呼び出し」に変更すると、機能しますが、プログラムの同じインスタンスでこのコードを再度呼び出そうとすると、同じ例外がスローされます。つまり、プログラムを再起動しない限り、「適用」または「呼び出し」を複数回使用することはできません。

この問題は、Windows XP+IE8 でのみ発生します。Windows7 + IE9で試してみると、「適用」/「呼び出し」を何度でも使用できます。

「適用」/「呼び出し」を複数回使用したり、他の方法でイベントを呼び出したりできるようにするためにできることはありますか?

0 投票する
2 に答える
2254 参照

c# - このjavascriptボタンをクリックする方法は?

ログインしようとしているWebページの途中で、次のコードがあります

クレデンシャルを取得してログインするSubmitAction()コードを実行したいと思います。「invokescript」を使用できるため、.NETからWebBrowserを使用すると問題なく動作します。ただし、shdocvwではこれを行うことはできません。特に要素にIDまたはタグがない場合、どうすればこのアクションを実行させることができますか?

私の関数は現在次のようになっています。

0 投票する
2 に答える
2570 参照

c# - IE8のInternetExplorerCOMオブジェクトによって無視されるアクティブなタブ

これは、.net3.5WinFormで実行されるWebシングルサインオンコードです。ie8で開いているタブが1つしかない限り、コードはie6またはie8で正常に実行されます。問題は、ユーザーが新しいタブ(タブ2、3など)を開いてWebサイト(組織内のWebフォーム)に移動すると、以下のコードが実行されますが、COM自動化オブジェクトはHTMLDocumentを返すことです。タブ2がアクティブなタブである場合でも、最初のタブ(タブ1)の場合。InternetExplorerまたはHTMLDocumentクラスのどこにもIEタブの参照が見つかりません。実際、IECOM自動化ドキュメントのどこにもIEタブ関連のドキュメントはほとんどありません。

0 投票する
2 に答える
4419 参照

vb.net - vb フォームを使用して、既に開いているブラウザーを制御/アクセスする

デスクトップ vb アプリケーションが既に開いているブラウザー ウィンドウを制御する方法はありますか? たとえば、ウィンドウ内の特定の座標をマウスでクリックしたり、ウィンドウに特定の要素が含まれているかどうかを確認したりします。

Microsoft Internet Controls(shdocvw) と MSHTML(IHTMLDocument2) の使用を検討しましたが、ブラウザー ウィンドウの要素 (body.innnerHTML など) にアクセスする方法に苦労しています。

0 投票する
1 に答える
4240 参照

vb.net - SHDocVw.InternetExplorer shellWindows で返されるオブジェクトが多すぎます

次のコード行は、ブラウザー ウィンドウを 1 つしか開いておらず (タブなし)、iexplore.exe プロセスを 1 つしか実行していないにもかかわらず、複数の InternetExplorer オブジェクトを返します。開いているブラウザ ウィンドウ オブジェクトのみを取得するにはどうすればよいですか?

For Each ie As SHDocVw.InternetExplorer In shellWindows

0 投票する
1 に答える
4642 参照

vb.net - ShowWindow はフォーカスを設定したり最大化したりしません

次のコードは、必要な IE ウィンドウにフォーカスを設定せず、本来のように最大化もしません。

0 投票する
0 に答える
219 参照

vb.net - IE ウィンドウがデスクトップ アプリからダイアログ ボックスを表示しているときの判断

選択したブラウザ ウィンドウにダイアログ ボックスが表示されているかどうかを確認しようとしています。shdocvw.internetexplorer オブジェクトを使用してブラウザーを取得し、ブラウザーの特定の要素を取得しています。ダイアログ ボックスが表示されているかどうかを判断できません。

System.Windows.Automation の使用も検討しましたが、VB でツリーをセットアップしてからダイアログ ボックスを探す方法がわかりません。

0 投票する
0 に答える
1720 参照

.net - .NET WebBrowser (SHDocVw) へのアクセス中に COMException が発生する

次の例外の理由は何ですか?

System.Runtime.InteropServices.COMException (0x800706BA): RPC サーバーを利用できません。(HRESULT からの例外: 0x800706BA)

C# コードを実行している Windows XP マシンで InternetExplorer を操作しようとして、COM 呼び出しを行うと発生します。.IsBusy のようなプロパティを読み込もうとすると発生します。

例外メッセージ: タイプ 'System.__ComObject' インターフェイス タイプ 'SHDocVw.IWebBrowser2' の COM オブジェクトをキャストできません。IID '{-D30C1661 CDAF-11D0-8A3E-00C04FC9E26E}' を持つインターフェイスの COM コンポーネントでの QueryInterface 呼び出しが次のエラーにより失敗したため、この操作は失敗しました: RPC サーバーを利用できません。(HRESULT からの例外: 0x800706BA)

0 投票する
2 に答える
3302 参照

c# - WebBrowser の別のドメインの iFrame でテキストを取得するための回避策はありますか?

おそらく最初は、XSS の制限のために不可能だと思うでしょう。WebBrowserしかし、サイトの JavaScript コードからではなく、をホストするアプリケーションからこのコンテンツにアクセスしようとしています。

これは大きなセキュリティ上の問題になるため、javascript からこのコンテンツにアクセスすることは不可能であり、可能であってはならないことを理解しています。しかし、WebBrowser. アプリケーション ユーザーの Facebook 情報を強化したい場合はNavigate("facebook.com")、必要なことを何でも実行できます。これは、Web ページではなく、 をホストするアプリケーションですWebBrowser

また、Google Chrome を使用して、ソースが別のドメインにある iFrame を含む Web ページに移動し、そのコンテンツを右クリックして [要素の検査] をクリックすると、コンテンツが表示されます。さらに単純なことに、別のドメインの iFrame を含む Web ページに移動すると、そのコンテンツが表示されます。で確認できる場合WebBrowserは、メモリ内のどこかにある必要があるため、プログラムでアクセスできるはずです。

javascript と同じエンジンに基づいているため、XSS 制限によって制限されているように見えるため、DOM オブジェクトからではなく、MSHTMLまたはなどのより低レベルのオブジェクトからSHDocVw、このテキストにアクセスする方法はありますか?