問題タブ [com-object]

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

internet-explorer - 破損した IE オブジェクト (Powershell による IE 自動化)

Powershell を使用して Web コンソールでアクセスポイントの設定を自動化したいと考えています。

私は Win8/IE10 で開発しましたが、コードをテストするとすべて正常に動作します。残念ながら、開発/テスト後に「生産システム」を受け取りました。これで、コードは Windows Server 2012 R2/IE11 で動作するはずです。

これは、アクセスポイントに接続してログインするための私のコードです(簡略化):

デバッグ上の理由から、通常はウィンドウを表示します (コメント #1#)。最初の Write-Host では、正しい場所が表示されます (「ログイン」)。2 番目の Write-Host で、間違った場所が表示されます (「about:blank」)。IE ウィンドウに正しい場所/タブ名 (「AP」) が表示されます。IE オブジェクトが使用できなくなり、他のプロパティ ($IE.Document.* など) が機能しないようです。ウィンドウを手動で閉じる必要があります。

2 つの回避策があります。

  1. ログインする前に IE ウィンドウを手動でクリック (フォーカスを取得) すると、動作します。
  2. ウィンドウを表示しない場合 ($IE.Visible = $false)、すべてが機能します。

これまでの私のシナリオ/テスト:

  1. IE ESC が無効になっています。
  2. C:\Program Files (x86)\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll を別の生産マシン (2008R2) からコピーしたので、$IE.Document 関数は機能します (私の開発マシンの dll は同じものを生成します)。エラー)。
  3. すべてのゾーンで保護モード ([インターネット オプション] > [セキュリティ]) を有効/無効にしようとしましたが、機能しません ( redditで見つかりました)

他の誰かが試してみるアイデアを持っていますか? デバッグは回避策で機能し、生産的であり、(これまでのところ)目に見えないウィンドウでも機能しますが、問題を理解したいです...

ありがとう、よろしく、kvo

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

c# - VS2015 デバッグでプロパティが見つからない

Visual Studio 2015 のデバッグ モードで COM オブジェクトのプロパティが表示されないのはなぜですか。VS2012 では問題なく動作します。同じプロジェクトなので、同じように表示されるはずです??

Visual Studio 2012 (正常に動作します) Visual Studio 2012 のデバッグ

Visual Studio 2015 (プロパティがなくなりました) Visual Studio 2015 のデバッグ

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

parsing - powershell com Internetexplorer catchポップアップウィンドウ

PowerShell を使用して、Web サイトを自動化および解析しようとしています。リンクを「クリック」して新しいウィンドウで開くまで、すべてがうまく機能します。そのウィンドウにアクセスして解析できるようにするにはどうすればよいですか?

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

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

c# - コンストラクタ パラメータでの COM オブジェクトの解放

最適化を検討している VSTO アドインを開発しています。私のコードでは、私は何かをします

すべての COM オブジェクトを解放する必要があることを知りましたが、適切な方法でオブジェクトを解放する適切な方法を探していsomeGoodSheetます。以下のようなことをすると効率的だと思います

私がそれを効果的に行っている場合、誰かが私を助けて、ガベージコレクターによってパラメーターオブジェクトが収集される時期を教えてもらえますか?

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

c# - C# を使用して応答する代わりに Outlook の予定に返信する

C# コードで応答するのではなく、すべての出力予定に返信したかったのです。

今日のすべての予定を反復処理できますが、.net 3.5 では予定に全員に返信するオプションが見つかりませんでした。利用可能な唯一のオプションは、応答するか、予定を添付ファイルとして送信することです。

私は基本的に、いくつかのカスタムボディで予定のすべての返信ウィンドウを開く(表示する)ことを望んでいます。

これを行う方法を教えてください。

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

c++ - サービスから IE キャッシュに URL を追加する

ログインしたユーザーの IE キャッシュに URL を追加する必要があるサービスがあります。

そのために、まずOpenProcessTokenでユーザーのトークンを取得し、 ImpersonateLoggedOnUserを呼び出します

2つの方法でURLを追加してみました

  1. IUrlHistoryStg2 COM インターフェイスを使用し、AddUrlAndNotifyメソッドを呼び出す
  2. 次の方法で CommitUrlCacheEntryWを使用するCommitUrlCacheEntryW(urlToEnterWithPrefix, 0, ExpireTime, LastModifiedTime, URLHISTORY_CACHE_ENTRY | NORMAL_CACHE_ENTRY, NULL, 0, NULL, NULL);

プロセスがログイン ユーザーで実行されている場合は両方の方法が正常に機能しますが、LocalSystem で実行されている場合は失敗します。

CommitUrlCacheEntryWドキュメントの統計は次のとおりです。

WinINet はサーバーの実装をサポートしていません。また、サービスからは使用しないでください。サーバーの実装またはサービスには、Microsoft Windows HTTP サービス (WinHTTP) を使用します。

しかし、 CommitUrlCacheEntryWに対応するWinHTTPのメソッドが見つかりませんでした

次の問題についてサポートをお願いします。

  1. サービスからIUrlHistoryStg2を使用して、ログインしているユーザーの URL 履歴にアクセスできますか?
  2. CommitUrlCacheEntryWまたはサービスのよりスリムな関数を使用して、ログインしているユーザーの URL 履歴にアクセスするにはどうすればよいですか?
  3. まだ使用していない 3 番目のオプションはありますか?
0 投票する
0 に答える
6083 参照

powershell - PowerShell を使用して PDF を作成する

PowerShell から PDF を作成するスクリプトに取り組んでいます。ComObjectを使用して、Wordを使用して動作させています。しかし、それは私がそれを実行するコンピューターに Word が必要であることを意味します。多分メモ帳からPDFファイルを作る方法があれば、私はさまよっていました。これは、Word から PDF を作成したコードです。