3

私は、SilverlightアプリケーションがローカルコンピューターのCOMポートと通信する方法を探し求めてきました。誰かがSilverlightをローカルコンピューターのCOMポートに正常に接続させることができましたか?もしそうなら、私にドキュメントを教えてもらえますか。

4

10 に答える 10

5

これはSilverlightでは実行できません。

標準の.NETデスクトップアプリを使用しないのはなぜですか?Webを介して簡単に展開する必要がある場合は、Click-Onceを使用して展開します。

于 2008-10-22T19:24:23.073 に答える
5

コンピュータリソースへのアクセスはありませんが、ソケットと通信することはできます。そのため、ユーザーに、ポートをリッスンしてCOMポートと通信するアプリケーションをインストールさせることができます。

なぜCOMポートと通信しようとしているのですか?ウェブカメラのサポートをお探しの場合は、Flashを使用してウェブカメラの入力を取得するJonasのハックをご覧ください:http: //jonas.follesoe.no/WebcamInSilverlight2MacGyverStyle.aspx

于 2008-10-22T19:31:45.727 に答える
3

これを行うには、Silverlightコントロールから、インターンがCOMポートにアクセスできるローカルソケットへのソケット接続を開きます。

于 2008-10-23T06:13:20.673 に答える
3

Silverlight 4 では、COM (ActiveX) と通信できます。シリアル ポートとの通信をサポートする COM ライブラリと通信する方法についてのブログ記事を書きました。

http://tech-michael.blogspot.com/2009/12/silverlight-talking-to-arduino.html

言及されている ActiveXperts オブジェクトは商用であることに注意してください。

于 2009-12-14T23:01:17.717 に答える
2

ブラウザから実行して、次のようなラッパーを利用することもできます

http://interopcom.codeplex.com/ (私が書いたもの)

よろしく、ポール

于 2011-07-07T20:33:40.637 に答える
2

彼らはそれをうまくまとめていると思います.Silverlightはタイトなサンドボックスにあり、COMポートや他のローカルリソースにはアクセスできません.

それでは、代替案について考え始めましょう。

  • ClickOnce と完全な .NET アプリケーションを使用する - 簡単な展開と更新を提供し、.NET フレームワークのすべての機能を利用できます。
  • 追加のアクセス許可を要求する XBAP (Browser Deployed WPF) を使用します。ブラウザ内に存在しますが、.NET 3.0 / 3.5 がインストールされた Windows マシンでのみ実行されます
  • GPS デバイスと通信する ActiveX コントロールを作成し、API を公開します。次に、JavaScript を使用してこの API を使用し、Silverlight から JavaScript コードを操作します。これにより、ブラウザー内の GPS アプリケーションが提供されますが、ユーザーは追加の GPS ActiveX コンポーネントをインストールする必要があります。

乾杯、ジョナス

于 2008-10-22T22:10:35.827 に答える
1

ローカルコンピューターとは、Silverlightクライアントアプリが実行されているコンピューターを意味しますか?Silverlightはセキュリティサンドボックスで実行され、そのようなハードウェアリソースに接続できるかどうかは疑わしいです。

于 2008-10-22T19:25:07.610 に答える
1

ジョン、

実際、Silverlight から GPS を読み取ろうとしています。試してみたい興味深いコンセプトがありますが、インストール フットプリントをゼロにしようとしていました。

于 2008-10-22T19:39:14.010 に答える
0

アプリケーションを Windows と Mac で実行したい場合はどうすればよいでしょうか? Silverlight は両方で動作するため、優れたソリューションです。WPF アプリや ActiveX コントロールなどを作成する必要がある場合、これは再び Windows のみにバインドされます。

于 2010-07-08T14:42:51.320 に答える
0

Silverlight 5 は、他のローカル リソースと同様にローカルの Comm ポートに接続できますが、Silverlight アプリケーションが Windows (Mac ではなく) で実行され、インターネットで OOB (ブラウザー外) またはブラウザー内で実行されている場合に限ります。冒険者。

これを行う方法は、従来のCOM オートメーション コンポーネントを作成し、完全信頼でアプリケーションを実行することです。Silverlight 5 アプリケーションをブラウザー内で完全に信頼して実行できるように設定できるレジストリ キーがありますが、アプリケーションは署名されている必要があり、公開キーはローカル コンピューター上の信頼できる発行元にインポートされている必要があります。

完了すると、Silverlight は AutomactionFactory をサポートし、ローカルに登録された com オートメーション オブジェクトにアクセスできるようになります。この機能は広く使用されています。それは非常に強力です。この場合、SerialPort オブジェクトへのアクセスを提供する COM コンポーネントを作成し、利用可能なすべてのポートのリストを返すメソッドをそれに与えました。

If AutomationFactory.IsAvailable Then
      SilPort = AutomationFactory.CreateObject("SilverPort.Ports")
      Dim AllPorts() As String
      AllPorts = SilPort.GetPortNames()
      ...
End If
于 2013-12-16T22:26:38.570 に答える