Gast
#1577423
Hallo ich möchte gerne eine SD-Karte über VisualBasic.net auslesen, aber nicht die Files sondern die einzelnen Bytes von der Karte direkt. Giebt es eine einfache Lösung? Gruß Richi
|
Anzeige
|
SD-Karte auslesen
Gast
#1577423
Hallo ich möchte gerne eine SD-Karte über VisualBasic.net auslesen, aber nicht die Files sondern die einzelnen Bytes von der Karte direkt. Giebt es eine einfache Lösung? Gruß Richi Ja; unter Windows kann die Karte auch als sogenanntes "Raw Device" angesteuert werden. Das verhält sich dann wie eine Datei, die genau so groß ist wie die SD-Karte; bei einer 512MB-Karte also 512MB. Wie man Raw-Devices anspricht, ist in der MSDN-Dokumentation zur Win32-API-Funktion CreateFile beschrieben: http://msdn.microsoft.com/en-us/library/aa363858%28VS.85%29.aspx ... genauers im Abschnitt Physical Disks and Volumes
Gast
#1578991
Danke für deinen Tipp, werde aber aus der Website nicht schlau. Wie realisiert man so etwas in VB? Könntest du mir einen verständlichen Code posten? Gruß Richi Wie man aus VB heraus Win32-API-Funktionen nutzt, ist auf zig Webseiten beschrieben. Darüber etwas zu finden, sollte nicht schwierig sein. Mit der Internetsuchmaschine der Wahl dauert es nur ein paar Sekunden, um nach "VB CreateFile" zu suchen und das hier zu finden: http://www.vbarchiv.net/api/details.php?id=createfile Ab jetzt solltest Du selber laufen lernen.
Gast
#1580989
Mitlerweile habe ich herausgefunden, dass es unter VB.net mit
System.IO.File.Create
geht.
Doch wenn ich als Pfad mein Laufwerk ("..\.\E:") angebe, kommt eine
Fehlermeldung(Unbekanntes Format).
Wie muss ich das eingeben?
Hast das Klopapier doch schon bekommen... Wischen musst du allein ;) Richi schrieb: > Doch wenn ich als Pfad mein Laufwerk ("..\.\E:") angebe, kommt eine > Fehlermeldung(Unbekanntes Format). Wo im von mir verlinkten MSDN-Text steht diese Schreibweise? Da steht "\\.\E:" bzw. "\\.\PhysicalDrive1"
Gast
#1581233
OK tschuldigung dass ich mich verlesen habe, aber jetzt kommt ne meldung dass Win32 Geräte nicht geöffnet werden können. Tatsächlich?
Gast
#1582397
Ja
ich benutze unter VB.net
System.IO.File.Create("\\.\E")
und dann kommt folgende Meldung:
FileStream öffnet keine Win32-Geräte, z.B. Datenträgerpartitionen oder
Bandlaufwerke. "\\.\" darf im Pfad nicht verwendet werden.
Tja, dann wirst Du herausfinden müssen, wie man die Win32-API-Funktion CreateFile aufruft, statt des Dir von Deiner Programmiersprache zur Verfügung gestellten Quarks.
Gast
#1582648
das heisst.. Das scheint zu bedeuten, daß Dich das Problem oder die Lösung nicht interessiert. Wenn es Dich interessieren würde, hättest Du schon längst die Dir zur Verfügung stehenden Hilfsmittel bemüht, um herauszufinden, wie man die von mir angesprochenen Dinge macht. Ich habe Dir ausreichend Hinweise gegeben, nun krieg den Hintern hoch und hilf Dir selbst. Hi! Alternativ kannst Du aber auch "dd" für Windows benutzen. Das dürfte Dir viel Arbeit abnehmen, da Du damit sektorweise raw-devices auslesen kannst und Dir die Daten in eine Datei schreiben lassen kannst (und umgekehrt). Dankenswerterweise lässt sich das Programm auf "removeable devices" beschränken, da man sich sonst auch ruck-zuck die Festplatte mal zerlegt hat. Achja, Vista und W7 möchten dafür Admin-Rechte! Wie man Komandozeilenprogramme aus VB.NET startet und deren Output bekommt, verrät Dir sicherlich das MSDN. Gruß,
Gast
#1582770
Danke Oliver werde mir morgen mal deine Lösung anschauen. Hoffe dass es entlich mal geht. Gruß Richi
Gast
#1583611
Funktioniert super. Danke Gruß Richi Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|