クライアントコンピューターで特定のウィンドウを見つけて、ASP.NETからアクティブ化するにはどうすればよいですか
-
27-10-2019 - |
質問
ASP.NETからWebサイトを実行しているため、制御(フォーカス)をWinFormsアプリケーションに転送する必要があります。
アプリケーションが実行されていない場合、process.start()メソッドを使用できることを知っています。
しかし、アプリケーションが実行されている場合、新しいウィンドウを起動したくありません。
Winformアプリケーションを一意のインスタンスとしてセットアップするオプションがありますが、それが外国のアプリケーションである場合はどうなりますか?私が著者ではなく、新しいインスタンスの立ち上げを制御できない場合...
クライアントコンピューターで特定のウィンドウを見つけて、ASP.NETからアクティブ化するにはどうすればよいですか
解決
セキュリティ上の理由により、あなたはそれをすることができません。ブラウザ内のコードは、ユーザーシステムにアクセスできません。
他のヒント
ブラウザがインターネットエクスプローラーの場合、 .htaページ (またはコンテンツタイプを返します: アプリケーション/HTA ).
.htaページは完全に信頼されており、comを介してローカルマシン上のすべてにアクセスできます。したがって、VBScriptでそれを行うことができれば、.htaページでそれを行うことができます。
ユーザーは、ダウンロードする前にこの「アプリケーション」を信頼する必要があります。これがインターネットアプリケーションである場合、おそらくこの信頼を得ることはできません。これがイントラネットアプリケーションの場合、ユーザーにページを信頼させることができます。
これが少し必要だったら、ActiveXルートを下ることができると思います。 IEでのみ機能し、Firefox(または他の兄弟)が機能するために別のプラグインが必要になると言っています。
正直なところ、あなたが達成しようとしていることのために過剰に思えますが。