0

.NET WebBrowser コンポーネントを使用して、Web からデータをサイレントに取得するコンポーネントがあります。ダイアログ ボックスやその他の対話型 UI コンポーネントが表示されないように記述されていますが、これはフォーム コンポーネントであるため、ホストするフォームと STA スレッドを作成する必要があります。次に、 Form.ShowDialog() を使用して開始しています

非対話型サービスでこのセットアップを実行できないことを除いて、これは完全に機能します。これを行おうとすると、「アプリケーションが UserInteractive モードで実行されていないときにモーダル ダイアログ ボックスまたはフォームを表示することは有効な操作ではありません。ServiceNotification または DefaultDesktopOnly スタイルを指定して、サービス申し込み」です。

とにかくUIなどを表示せずにWebBroswerを実行するようにサービスを構成する方法はありますか?

4

1 に答える 1

1

いいえ、ありません。この変更は、使用するためにオプトインする必要があるセキュリティ対策として Windows Vista から行われました。

一般的に言えば、これはスクレイプ コンテンツを取得する最良の方法ではありませんが、この方法で行う必要がある場合は、サービスがデスクトップとやり取りできるようにする必要があります。

于 2010-02-23T04:00:41.203 に答える