トップ回答者
カスタムサーバーコントロールとクライアント資源について

質問
-
http://social.msdn.microsoft.com/Forums/ja-JP/aspnetja/thread/f0e47c88-f23e-4657-bc5f-a67f1287d558
↑ 前回質問させて頂きまして、再度質問をさせて下さい。
PCに接続されたカードリーダに接続するカスタムサーバーコントロールを作りました。
ただ、これではサーバ側で実行されてしまい、IEで公開した時に、クライアント側で動かすことができません。(サーバー側で動いてしまいます)
何か方法があれば教えて頂きたいです。
== 以下補足説明 ==
・ClickOnceを勉強して良いと思ったのですが、違うそうです。
・ActiveXやATLもあると思いますが、できればVS2008で作れる参考サイトや書籍などがあれば知りたいです。
・カスタムサーバーコントロールはhttp://msdn.microsoft.com/ja-jp/library/zt27tfhy(VS.80).aspxなどを参考にし、DLLなどをインポートして作りました。
・カスタムサーバーコントロールならサーバー側で実行されるのは当たり前の気もしますが、
他の方法等で、 「USB接続されたデバイスをIEから制御できる方法」 があれば教えて頂きたいです。
よろしくお願いします。
回答
-
SHDocVw ライブラリと MSHTML ライブラリは使えませんか?
VB.NETでHTML コードにアクセスするためのオブジェクトモデル
http://pc.k-solution.info/programming/Visual%20Studio%20.NET/Use%20of%20MSHTML.aspxもともとやりたいことは以下のとおりで、1が問題なのだろうと思いますが、「バーコードや、
カードなどをクライアント側で読み取る」のは Windows アプリでクライアント側で行い、「IE
の画面に影響」はその Windows アプリで MSHTML ライブラリを利用して、IE の画面を書き換え
るなどの方法が考えられますが。> 1.IEを開いていて、サイトを表示している時に、例えばバーコードや、カードなどをクライ
> アント側で読み取ると、IEの画面に影響される。
>
> 2.WEBに張り付けたボタンをクリックすると、任意のファイルをクライアントPCに出力する。何故バーコードなどを読み取った結果を IE に表示したいのか分かっていませんので、はず
していたらすみません。- 回答としてマーク paperbasic 2009年5月19日 15:55
-
ただ、これではサーバ側で実行されてしまい、IEで公開した時に、クライアント側で動かすことができません。(サーバー側で動いてしまいます)
どのテクノロジーを使うと、サーバー/クライアントのどちら側で実行されるかを事前に調べましょう。
(中略)
・ActiveXやATLもあると思いますが、できればVS2008で作れる参考サイトや書籍などがあれば知りたいです。
ActiveXコントロールを作ること、ATLを使うことはVS2008でも利用可能です。
ただ、VS2008に特化して説明したサイト・ドキュメントがあるかどうかは探していません。
ActiveXやCOMは結構奥深いので、解説しているサイトが少ないかもしれません。
↓裏付け薄い参考程度のコメントとみなして下さい。
# Webページでの.NETのコードは基本的にクライアント資源にアクセスはできないでしょうから、IEベースだとActiveXコントロールになりそうです。
↑ここまで。
SurferOnWwwさんがアドバイスされていますように、ブラウザを内包するアプリケーションを作るといったアプローチに変更できるのであれば、楽になるかもしれません。
解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。- 回答としてマーク paperbasic 2009年5月19日 15:55
すべての返信
-
SHDocVw ライブラリと MSHTML ライブラリは使えませんか?
VB.NETでHTML コードにアクセスするためのオブジェクトモデル
http://pc.k-solution.info/programming/Visual%20Studio%20.NET/Use%20of%20MSHTML.aspxもともとやりたいことは以下のとおりで、1が問題なのだろうと思いますが、「バーコードや、
カードなどをクライアント側で読み取る」のは Windows アプリでクライアント側で行い、「IE
の画面に影響」はその Windows アプリで MSHTML ライブラリを利用して、IE の画面を書き換え
るなどの方法が考えられますが。> 1.IEを開いていて、サイトを表示している時に、例えばバーコードや、カードなどをクライ
> アント側で読み取ると、IEの画面に影響される。
>
> 2.WEBに張り付けたボタンをクリックすると、任意のファイルをクライアントPCに出力する。何故バーコードなどを読み取った結果を IE に表示したいのか分かっていませんので、はず
していたらすみません。- 回答としてマーク paperbasic 2009年5月19日 15:55
-
ただ、これではサーバ側で実行されてしまい、IEで公開した時に、クライアント側で動かすことができません。(サーバー側で動いてしまいます)
どのテクノロジーを使うと、サーバー/クライアントのどちら側で実行されるかを事前に調べましょう。
(中略)
・ActiveXやATLもあると思いますが、できればVS2008で作れる参考サイトや書籍などがあれば知りたいです。
ActiveXコントロールを作ること、ATLを使うことはVS2008でも利用可能です。
ただ、VS2008に特化して説明したサイト・ドキュメントがあるかどうかは探していません。
ActiveXやCOMは結構奥深いので、解説しているサイトが少ないかもしれません。
↓裏付け薄い参考程度のコメントとみなして下さい。
# Webページでの.NETのコードは基本的にクライアント資源にアクセスはできないでしょうから、IEベースだとActiveXコントロールになりそうです。
↑ここまで。
SurferOnWwwさんがアドバイスされていますように、ブラウザを内包するアプリケーションを作るといったアプローチに変更できるのであれば、楽になるかもしれません。
解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。- 回答としてマーク paperbasic 2009年5月19日 15:55