ブラウザからUSBデバイスリストを取得する方法
-
04-10-2019 - |
質問
ブラウザベースのテクノロジーにより、クライアントの現在接続されているUSBデバイス、特にこれらの名前とデバイスIDを照会することができます。もちろん、私はクライアントがそのようなアクティビティを許可して確認する必要があります。
低レベルで、WMI、ダイレクトアクセス、または他の種類のアクセスレイヤーを使用している場合、私は気にしません。私が望むのは、ブラウザ内からそれを使用できることだけです。コードサンプルに感謝します。ブラウザに依存しないソリューションに非常に満足しています。
解決 2
少なくとも部分的な解決策を与えようとしていないことに少し失望しています。ブラウザに依存しないソリューションを見つけることができませんでしたが、WMIを使用して、WingsでIE用に1つを作成しました。 WbemScripting.SWbemLocator
ActiveXオブジェクト。それは何もないよりはましで、「あなたはそれをすることはできません」よりも良いです。
だから、興味を持っている他の人にとっては、ここにあります:
function pollConnectedDevices()
{
var locator = new ActiveXObject("WbemScripting.SWbemLocator");
var conn = locator.ConnectServer(".", "root\\cimv2");
var result = conn.ExecQuery("Select * From Win32_USBHub");
var enumer = new Enumerator(result);
for (;!enumer.atEnd();enumer.moveNext ())
{
var hub = enumer.item ();
alert(hub.Name + " " + hub.DeviceId);
}
setTimeout("pollConnectedDevices()",1000);
}
setTimeout("pollConnectedDevices()",1000);
はい、それはWindows上のIEのみです。はい、そのことをするにはユーザーの許可が必要です。しかし、はい、それは何かです、それは可能です、それは私がするために必要なことをします。
他の誰かが別の方法を知っているなら、そして私がここでコードについて話しているのではなく、私はまだ他のブラウザーやOSの部分的なソリューションを探しています。 USBデバイスのクエリは興味深いものであり、すべての議論にもかかわらず、「それはソフトウェアであり、何かをするのではなく、何かをするのではなく、何かをすることになっている」と言います。
他のヒント
ブラウザからそれを行うことはできません(理由があります)。ユーザーがインストールする必要があるプラグインが必要です。
IE ActiveX、IEツールバー、Netscapeプラグインラッパー(Opera/Windows、Firefox/Windows、おそらくChrome/Windows用)=> WMI。おそらく、そのようなものは、Scrapyardグレードのウイルス対策ソフトウェアによって禁止されるでしょう。
できるようになります:b> b> usbセキュリティドングルを作成する代わりにスマートカードネイティブサポートを使用するc>独自のソフトウェアを作成します。これは、127.0.0.1でWebサーバーを起動し、ページのJavaScriptからアクセスします(ここでインストールのダウンロードが提供されます)。
これのためのプラグインを自分で書く必要があります。
Javaアプレット。使用できます http://javax-usb.org/ .
そして、それはJavaアプレットを使用して行われました http://forums.sun.com/thread.jspa?threadid=5371360
したがって、ソリューションは確かに存在します!!!
標準のJavaScriptでそれを行うことは不可能です。
ActiveX(IEとWindowsのみ)またはフラッシュまたはブラウザ拡張機能(OSごと)で動作する場合があります。
HMは、私の頭の上から、XBapがあなたを助けるかもしれないと思います。 http://www.xbap.org/. 。それ以降、#USBLIBを使用したC#だけです。
編集 HM、それはサンドボックスモードで実行されると言っています。そして、それはIEのみのプラグインのようです。私は推測する xbap ミスです。