# Chipkarte



## spirit (30. September 2014)

Hallöchen

Ich habe da mal wieder ein Problem.

Folgender Sachverhalt:
Ich möchte gerne eine eigene Vereinsverwaltung machen, bei der die Mitglieder eine Chipkarte 
als Ausweis bekommt. Auf der Karte braucht erstmal nichts gespeichert werden. Lediglich soll 
die Karten ID ausgelesen werden und über eine ODBC-Schnittstelle mit einer MySql Datenbank 
gekoppelt werden. 

Die eigendliche Anwendung funktioniert mit einer manuellen Eingabe soweit ganz gut. Das Problem
liegt beim auslesen der Karten ID.

Als Hardware verwende ich einen NFC ACR122 USB Reader mit einer Mifare Classic 1k Karte. Die Verbindung
zum Kartenleser funktioniert auch soweit, das ich eine Poll Funktion habe, die merkt wann eine Karte auf dem Leser liegt oder nicht. 

Ich habe mir gedacht, das für das Lesen einfache Methoden aus der winscard.dll verwendet werden können. 
Leider ist dem wohl nicht so. Im Netz finden sich zahlreiche Infos zu Linux basierten Lösungen wie nfc-tools
usw. Jedoch halten sich die VB Progger etwas bedeckt.

Meine Frage nun: Wer kennt eine Anleitung oder Beschreibung, mit der es möglich ist eine ChipKarte mit VB6 auszulesen. 

Für eure Bemühungen bedanke ich mich im voraus.


----------



## sheel (30. September 2014)

Hi

es ist C, aber als Hilfe zum Portieren sicher brauchbar.
http://www.smartcard-magic.net/de/pc-sc-reader/winscard-api-c-c/


----------



## spirit (2. Oktober 2014)

Vielen Dank für den Hinweis. Diese Seite hatte ich schon gefunden. Jedoch lieget mein Augenmerk eher darauf, das ich mit VB auf die Karte zugreifen möchte. Eine Verbindung ist grundsätzlich ja schon vorhanden. Es kann doch dann auch nicht viel komplizierter sein, auf die Daten zuzugreifen. Mit der C-Syntax und dem "umschreiben" auf VB habe ich da so meine Probleme.  Gibt es vieleicht irgendwo eine gute und deutsche Anleitung zu einer API, die direkt mit VB eingesetzt werden kann??


----------



## Zvoni (2. Oktober 2014)

Hier sind mal (anscheinend!) alle Declares der Winscard: http://www.vb-archiv.de/forum/read.php?id=3&t=64285&i=64285&v=t
Keine gewähr auf Vollständigkeit/Korrektheit

Das einzige, was man jetzt noch rausfinden muss, in welcher Reihenfolge.....

EDIT: hier mal die wichtigsten API's auf einen Blick
http://msdn.microsoft.com/en-us/library/windows/desktop/aa380141(v=vs.85).aspx

Scheint in dieser Reihenfolge zu laufen:
Kontext erstellen (Liefert Handle zu Context)
Lesegeräte auflisten (Liefert Array mit GeräteBezeichnungen)
Connect zum Gerät (Liefert Karten-Handle)
Transmit (Schickt Daten an und erhält Daten zurück von der Karte)
Karte disconnecten
Kontext freigeben


----------

