問題タブ [comobject]

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 に答える
718 参照

windows - PowerShell、オブジェクト=プロセスの開始?

こんにちは私は拡張機能なしでInternetExplorerを起動し、それを制御したいと思います。(他のページに移動したり、ボタンをクリックしたりします)

コマンド「Startiexplore.exe-ArgumentList-extoff」を使用すると、拡張機能のないIExploreがありますが、オブジェクトはありません。別のページに移動してボタンをクリックするには、オブジェクトが必要です。「$ie= Start iexplore.exe -ArgumentList -extoff」は、コマンド「StartX」では使用できません。

次のコードはComオブジェクトを作成し、「Extensions=off」なしで必要なすべてが可能です

  • $ ie = New-Object -ComObject InternetExplorer.Application
  • $ ie.Navigate( "http://www.stackoverflow.com")
  • $ ie.Navigate( "www.Navigate to a other Page.com")
  • $ ie.Document.getElementById( "ButtonID")| foreach {
  • $ _。Click()
  • }
0 投票する
2 に答える
2452 参照

visual-studio-2010 - VS2010 はプロジェクト プロパティ (「基になる RCW」) を表示しませんか?

プロジェクト (さまざまな種類のプロジェクト) を右クリックして "プロパティ":

ページの読み込み中にエラーが発生しました。 基になる RCW から分離された COM オブジェクトは使用できません。

通常、VS2010 を再起動した後、プロジェクト ページを表示できます。RTM版を使用しています。

このエラーの原因は何ですか?

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

powershell - Com オブジェクトからプロセス ID を取得する

この新しい Com オブジェクト ($ie) からプロセス ID を取得することは可能ですか?

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

internet-explorer - InternetExplorer Comオブジェクト、getElementById、getElementsByName、およびgetElementsByTagName

PowerShellを使用してWebテストを作成したいと思います。現時点では、新しいカレンダーエントリを作成するときにSharePointテキストボックスで問題が発生しました。フィールドのプロパティは次のとおりです。

ご覧のとおり、使用できる固定IDはありません。

「Titel」という単語を検索してIDを取得することは可能ですか?

(タイトル=ドイツ語なのでタイトル;-))

次のコードは機能していません。

Internet Explorerのソースコード:

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

php - PHPのCOMオブジェクトから返された多次元バリアント配列からどのように読み取りますか?

多次元VARIANT配列(vt_array)を返すCOMオブジェクトを使用していて、配列から値を読み取ろうとしています。

使用するprint_r($mdArray)と表示されますvariant Object。(variant_get_type($mdArray)戻ります8204。)

使用してみforeach ($mdArray as $oneArray)ましたが、次のメッセージが表示されます。

警告:Loader :: getfields()[loader.getfields]:C:\ Inetpub \ wwwroot \ root \ script \ fileloader.phpの135行目の単一次元バリアント配列(この配列には2つあります)のみを処理できます致命的なエラー:キャッチされない例外「例外」とメッセージ「バリアント型のオブジェクトはイテレータを作成しませんでした」C:\ Inetpub \ wwwroot \ root \ script \ fileloader.php:135スタックトレース:#0 C:\ Inetpub \ wwwroot \ root \ script \ fileloader .php(135):Loader :: getfields()#1 C:\ Inetpub \ wwwroot \ root \ testloader.php(21):Loader-> getfields()#2 {main}がC:\ Inetpub \wwwroot\にスローされます135行目のroot\script \ fileloader.php

(foreachループは135行目にあります)

配列について取得できる唯一の情報は、whichreturnsを使用するcount($mdArray)こと8です。

ここにいる誰かが多次元VARIANT配列からの読み取りの経験がある場合は、これを行う方法を教えてください。

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

activex - IDispatch::Invoke を呼び出すと IE9 RC がクラッシュする

IE6、7、8、および9 ベータ版では動作するが、IE9 RC ではクラッシュする動作コードがあります。Web ページが ActiveX のインターフェイスを正常に使用していることがわかりますが、ActiveX から IDispatch::Invoke を呼び出そうとすると、ActiveX がクラッシュします。

私のアプリケーションは、CHtmlView (IE コンテナー)、Web ページ (GUI)、および ActiveX (アプリケーション自体) から構成されています。Web ページが ActiveX のインターフェイスを正常に使用していることがわかりますが、データを Web ページに送り返そうとするとクラッシュします。

コード (vs2005 c++) をデバッグした後、すべての IDispatch 関数がクラッシュを引き起こすことがわかりましたが、この動作は RC バージョンでのみ再現されます。当社の製品は、すでに 3 年間問題なく動作しており、RC にアップグレードするすべてのクライアント当社の製品を使用することはできません。

そのような動作を引き起こす可能性のある変更はありましたか? オンラインのドキュメントによると、何も見つかりませんでした。ありがとう。

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

c# - COMの共同オブジェクトとインターフェイスC#

私はこれにまったく慣れておらず、msdnのチュートリアルに従っています:http://msdn.microsoft.com/en-us/library/aa645736(v = vs.71).aspx#vcwlkcominteroppart1cclienttutorialanchor2

私の質問は、なぜCOMインターフェイスとCOMCoClassesを使用するのかということです。COM CoClassのインスタンスをインスタンス化し、古いオブジェクトであるがCOMインターフェイスとしてキャストされた新しいオブジェクトをインスタンス化するのは奇妙に思えます。

私は本当にここでイデオロギーを把握したいだけです...どんな助けも役に立ちます。

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

c# - SHDocVw.InternetExplorer の代わりに __ComObject として設定されている InternetExplorer

SHDocVw.dll の InternetExplorer に問題があります。私も mshtml.tlb を参照しています(グーグル中に、 mshtml.dll を参照する必要があるというコメントを1つ読みましたが、これはMicrosoft Visual Studio Expressでは実行できませんでしたが、これがどれほど真実かはわかりません)。これは、私にとっては機能しない最も基本的な形式の小さな関数です。

問題は、IEObj インスタンスを作成すると、System.__ComObjectではなくtype と見なされSHDocVw.InternetExplorer、すべてのサブパーツも typeになることSystem.__ComObjectです。次のステートメントのいずれかを試すと...

...同じエラーメッセージが表示され続けます:

タイプ 'System.__ComObject' を 'System.Windows.Forms.HtmlElement' に暗黙的に変換することはできません (明らかに、変換先のタイプは とは異なりますIEObj.Document)。

私は c# を初めて使用します (VBA から来たので、プログラミングに精通しています) が、VBA では、同等のものはまったく変換する必要なく完全に機能します。

それは私が間違っていることですか?それがオブジェクトの作成である場合、次は関数をテストするために使用したコードです (大まかに):

私が実際にやりたいことは、さまざまな要素をラッチして、テキスト ボックスにテキストを入力したり、ボタンをクリックしたりできるようにすることです。また、Document 変数 ( Document.Body.InnerHtmlなど) も使用できるようにする必要があります。プロジェクト全体は、他のプロジェクトから参照される DLL に含まれる一連の関数になります。

0 投票する
6 に答える
8008 参照

c# - Webブラウザコントロールからonclickで実際のJavaScript値を取得するにはどうすればよいですか?

onclick内で定義されたJavaScriptコードを取得する方法を探しています。.NET 2.0 C#VisualStudio2005を使用しています。

例:

私の目標は、文字列「window.location.href='someURL'」を取得することです。

シナリオ:

ユーザーは、WebBrowserコントロール内で、たとえば上記のタグなどのWebページ要素をクリックします。次に、クリックされたタグはHを参照しtmlElement objectます。

次にWebBrowserコントロールで呼び出すとHtmlElement object's getAttribute("onclick")、「System.__ComObject」が表示されます。

私はそれを処理する方法を検索し、それをキャストして値を取得できることを発見しました。

出力:

示されているように、span.onclickはまだSystem .__ ComObjectを提供しますが、何が間違っているのでしょうか。

HtmlElementのGetAttribute()メソッドが属性の値の代わりに「mshtml.HTMLInputElementClass」を返すのはなぜですか? この男はそれが彼の場合にうまくいったと言いました、そして私はそれに従いました、しかし私のものは幾分うまくいきません...

アップデート

研究、研究.....

参照VisualBasic.dllをC#プロジェクトに追加してから、メソッドを呼び出して、このSystem.__ComObjectが実際に誰であるかを確認できます。

出力:

これはJScriptタイプのようです...このオブジェクトにアクセスするにはどうすればよいですか?

より詳しく

上記の説明は私の現在のプロジェクトに基づいています。プロジェクトは、SeleniumIDEのようなものを作成することです。代わりにWebBrowserコントロールを使用します。

Selenium IDEは、Webドキュメントに要素を記録するために3つの異なるものを作成します。

例えば、

Selenium IDEはページの読み込みを認識するため、actionTypeをとの間で変更"click""clickAndWait"ます。私の場合、それを単純にしたい。

要素をクリックし、それanchor tagがページロードの種類であるか、またはそのようなjavascriptを持っている場合はonclick=window.location.href='blah'、actionTypeをに設定し"clickAndWait"ます。

0 投票する
4 に答える
5629 参照

com - Regsvr32 の奇妙な動作 = > Regsvr32 が成功または失敗のメッセージを表示しない

私は directShow フィルターを持っています: MyFilter.ax

MyFilter.ax を Regsvr32 ユーティリティに登録しようとすると、エラーやメッセージ(成功または失敗) は表示されません。ただし、フィルターは登録されていません。

Regsvr32 ユーティリティは、私の他のフィルターでは問題なく動作します。

Regsvr32 Deo が成功または失敗のメッセージを表示しないのはなぜですか? Regsvr32 の失敗と成功をデバッグするにはどうすればよいですか? 意味のあるメッセージを表示する可能性のある directshow フィルターを登録するための代替ユーティリティはありますか?

幸運をお祈りしています

アップデート:

仮想マシンにクリーンな win7 OS をインストールします。次に、登録を試みます。regsvr32 からのメッセージ応答がなく、再び失敗します。

ただし、仮想マシンにクリーンなwin7 OSを再度インストールします。次に、すべての更新を行います。そして、更新を行った後、regsvr32が機能し、フィルターをインストールしました....regsvr32が失敗する原因と、それを修正する更新の種類がわかりません。それとも本当に更新の問題ですか...