4

私を怒らせている問題があります。teamviewer セッションをブラウザー uri から必要なリモート リソースに正常に接続できました。これを実現するには、ブラウザのアドレス バーで次の uri コマンドを使用します (実際には、html のボタン クリックです)。

  • teamviewer8://remotecontrol?connectcc=123456789

これは必要に応じて完全に接続されますが、対処する必要がある問題があります。

問題

接続がまだ開いていない場合は、teamviewer セッションが開始され、必要に応じて 2 番目のモニターにウィンドウがポップアップします。すべて良い。ただし、セッションが既に実行されていて、同じ uri に対して後続の要求を開始すると、新しいセッションが生成され、複数の重複したセッション ウィンドウが残ります。これは、長期的にはリソースを消費するだけでなく、実際には望ましくありません。

私の理想的な解決策

理想的には、指定されたIDがまだ実行されていない場合に新しいセッションが呼び出されるようにプロセスが機能することを望みます。その ID を持つ以前のセッションが実行されている場合は、teamviewer を新しいセッションにするのではなく、それに焦点を合わせる方法を見つけたいと思います。

私がすでに知っていること

すでに実行中の ID に対して 2 番目のセッションを開始しようとすると、teamviewer コンソールがこれを行うため、これが可能であることはわかっています。UI内のボタンクリックでセッションを開始する必要があるWebベースのデスクトップソリューションを開発したため、teamviewerコンソールを使用することはできません(IDは自分のデータベースに保存されています)。

私が作成したアプリは、狭い範囲の ID で多くのプロセスを集中的に見ているため、文字通り何百もの重複したウィンドウを開く可能性があるため、解決策が緊急に必要です。

結論

チームビューアーに新しいセッションを作成しないように指示するパラメーターを uri に追加することは可能ですか。問題に対処する、私が見逃している簡単なスイッチはありますか??

読んでくれてありがとう...

[編集] - 何の関係もありそうにありませんが、私はアプリケーションに asp.net mvc を使用しています。http パイプラインが teamviewer が一意の識別子として解釈するものを追加/キャッシュしている可能性があるため、この情報を追加します。

[アップデート]

慎重に検討し、無益な検索を行った結果、独自のプロキシ アプリケーションを作成し、それを自分で選択したプロトコルに登録することにしました。このプロキシ アプリは、teamviewer プロトコルと同じパラメーター (arb://remotecontrol?connectcc=123456789) で呼び出されます。私の小さなアプリには内部ディクショナリがあり、ウィンドウ タイトルをディクショナリで検索します。一致するものが見つかった場合はウィンドウにフォーカスが置かれ、一致しない場合は teamviewer プロトコルを使用して Process.Start() が実行され、データがディクショナリに追加されます。他にもいくつかのチェックがありますが、これは今のところうまくいきます。

最初のインスピレーションとして、次のリンクを使用しました。

これが、必要な状況でこの種のシナリオを回避する必要がある他の誰かに役立つことを願っています.

4

0 に答える 0