c# Geräte anzeigen

OP #7431083
Lesenswert?
• ▲
▼

hallo,

1
           DriveInfo[] allDrives = DriveInfo.GetDrives();

zeigt u.a. USB-Sticks an, aber nicht den Speicher meines Smartphones, der als "Gerät" per usb an den pc angeschlossen und im explorer sichtbar ist.

Wie greife ich über den PC auf den Speicher des Smartphones zu?

danke für Unterstützung

#7431164
Lesenswert?
• ▲
▼

Karl K. schrieb:

1
           DriveInfo[] allDrives = DriveInfo.GetDrives();

zeigt u.a. USB-Sticks an, aber nicht den Speicher meines Smartphones, der als "Gerät" per usb an den pc angeschlossen und im explorer sichtbar ist.

Wie greife ich über den PC auf den Speicher des Smartphones zu?

Das geht so nicht. MTP (media transfer protocol)-Devices werden unter Windows nicht als normale Laufwerke verwaltet. Die erscheinen nur im im Explorer in etwa so, als wären es welche.

Dementsprechend gibt es im Shell-API die entsprechende Unterstützung dafür. Dabei handelt es sich allerdings um native COM-Objekte. Ob es einen .Net-Wrapper dafür gibt, das weiß ich leider nicht. Ich vermute allerdings stark: wird es geben...

OP #7431625
Lesenswert?
• ▲
▼

der word-macro-aufzeichner ergibt für den Pfad "Dieser PC\KINGKONG MINI2\SD-Karte\kmv":

1
Sub Makro68()
2
'
3
' Makro68 Makro
4
'
5
'
6
    Documents.Open FileName:= _
7
        "C:\Users\karl\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\9360BC6C.tmp" _
8
        , ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
9
        PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
10
        WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
11
        wdOpenFormatAuto, XMLTransform:="", Encoding:=1252
12
    Selection.EscapeKey
13
    Selection.EscapeKey
14
'    ActiveWindow.Close
15
End Sub

in c# umgesetzt

1
string dir = @"C:\Users\karl\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\";
2
            if (Directory.Exists(dir))
3
            {
4
                string[] files = Directory.GetFiles(dir);
5
                foreach (var file in files)
6
                {
7
                    FileInfo info = new FileInfo(file);
8
                    listBox2.Items.Add(info.Name);
9
                }
10
            }

Damit bekomme ich Dateien wie folgt angezeigt:

C:\Users\karl\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\3D70D199.dat

Hat vielleicht och jemand eine Idee hierzu? Was ist INetCache?

#7431629
Lesenswert?
• ▲
▼

Karl K. schrieb:

Hat vielleicht och jemand eine Idee hierzu? Was ist INetCache?

Dateien, die per MTP auf dem Handy erreichbar sind, sind keine "echten" Dateien am PC. Normale Anwendungen können die nicht öffnen. Darum werden die auf einen temporären Ort umkopiert, dann kriegt die Applikation die Kopie zum damit Arbeiten, und ggfs. wird die Datei beim Beenden der Applikation wieder zurück auf Handy geschoben.

Wo dieser temporäre Pfad genau liegt, ist ein Implementationsdetail, auf das du dich nicht verlassen solltest: Geh den offiziellen Weg.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 3 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.