0

SDK に同梱されている C# 用のデバイス プログラミング サンプルを使用して、Windows 8 で ACR122 カード リーダーを試してみます。サンプルを開始すると、使用可能なデバイスのリストにカード リーダーが表示されません。

リーダー (プリコンパイル済みバイナリ) を構成するためのツールがリーダーを一覧表示し、それに接続できるようにするため、これは一般的なドライバーの問題ではないと思います。

C# と .NET は初めてです。何が悪いのかを判断するためのアドバイスを誰かに教えていただければ幸いです。さらに情報が必要な場合は、喜んで提供します。

4

2 に答える 2

3

私も専門家ではありません。現在 ACR122U リーダーを使用していますが、サンプルも完全には機能しませんでした。しかし、小さな C# プログラムを作成して、少量のテキスト (16 進数に変換) をスマート カードに読み書きできるようにすることができました。だから、私がしたように、自分で書いてみることをお勧めします。私が始めたコードをいくつか紹介します(私はpcsc-sharp dllを使用しました):

using PCSC;

namespace SmartcardCheck
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var context = new SCardContext())
            {
                context.Establish(SCardScope.System);

                string[] readerNames = null;
                try
                {
                    // retrieve all reader names
                    readerNames = context.GetReaders();

                    // get the card status of each reader that is currently connected
                    foreach (var readerName in readerNames)
                    {
                        using (var reader = new SCardReader(context))
                        {
                            Console.WriteLine("Trying to connect to reader {0}.", readerName);

                            var sc = reader.Connect(readerName, SCardShareMode.Shared, SCardProtocol.Any);
                            if (sc == SCardError.Success)
                            {
                                DisplayReaderStatus(reader);
                            }
                            else
                            {
                                Console.WriteLine("No card inserted or reader is reserved exclusively by another application.");
                                Console.WriteLine("Error message: {0}\n", SCardHelper.StringifyError(sc));
                            }
                        }
                    }
                }
                catch (Exception)
                {
                    if (readerNames == null)
                    {
                        Console.WriteLine("No readers found.");
                        return;
                    }
                }

                Console.ReadKey();
            }
        }
    }
}

それがあなたを助けることを願っています:)

于 2013-10-14T07:50:17.140 に答える
1

ACR122 は、Windows では NFC (近接) デバイスとして認識されません。これは、NFC カードを読み取る機能を持つスマート カード デバイスです。最新のアプリ内または WinRT API 経由で使用するには、スマート カードのサポートが導入された Windows 8.1 を実際に使用する必要があります。

于 2013-08-21T06:39:01.387 に答える