Dateien vom Android-Smartphone lesen.
- Ally
- Beiträge: 283
- Registriert: Do 11. Jun 2009, 09:25
- OS, Lazarus, FPC: Win und Lazarus Stable release
- CPU-Target: x64
Dateien vom Android-Smartphone lesen.
Wenn ich mein Android-Smartphone an meinen Windows-PC anschließe und "Datenübertragung" auswähle, kann ich mit dem Windows-Explorer auf die Dateien im Smartphone zugreifen.
Unter Linux(Mint) funktioniert das ebenfalls.
Wenn ich dann aber unter Lazarus/Windows mit, z.B., einem DirectoryEdit auf das Smartphone zugreife, bekomme ich zwar die Ordner zu sehen, kann auch einen auswählen, bekomme dann aber keinen Pfad zurück.
Unter Lazarus/Linux(Mint) funktioniert es wie erwartet.
Was muss ich tun, damit es auch unter Windows geht.
Anbei ein kleines Beispiel zum testen.
Gruß Roland
Unter Linux(Mint) funktioniert das ebenfalls.
Wenn ich dann aber unter Lazarus/Windows mit, z.B., einem DirectoryEdit auf das Smartphone zugreife, bekomme ich zwar die Ordner zu sehen, kann auch einen auswählen, bekomme dann aber keinen Pfad zurück.
Unter Lazarus/Linux(Mint) funktioniert es wie erwartet.
Was muss ich tun, damit es auch unter Windows geht.
Anbei ein kleines Beispiel zum testen.
Gruß Roland
- Dateianhänge
-
- screeshot.png (38.03 KiB) 7904 mal betrachtet
-
FindAllFiles.zip
- (5.75 KiB) 125-mal heruntergeladen
-
- Beiträge: 732
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: Dateien vom Android-Smartphone lesen.
Du musst mit Shellobjects arbeiten, Lazarus verwendet "Findfirst, Findnext...", damit kommst du nicht weit.
Such im Internet nach "Delphi shellobjects pidl itemidlist".
Es gab auf Sourceforge Quellcode und Demo von Shellctrls, offiziell kein Crack, da kannst du nachschauen wie die das gemacht haben.
Such im Internet nach "Delphi shellobjects pidl itemidlist".
Es gab auf Sourceforge Quellcode und Demo von Shellctrls, offiziell kein Crack, da kannst du nachschauen wie die das gemacht haben.
- Ally
- Beiträge: 283
- Registriert: Do 11. Jun 2009, 09:25
- OS, Lazarus, FPC: Win und Lazarus Stable release
- CPU-Target: x64
Re: Dateien vom Android-Smartphone lesen.
Hallo Soner,
vielen dank für deine Infos.
Leider haben sie mir noch nicht so richtig weitergeholfen.
Die Shellctrls haben das gleiche Problem, auch damit kann man nicht auf das Smartphone zugreifen.
Es wird noch nicht mal angezeigt.
So wie das aussieht, ist der Zugriff auf solche Laufwerke/Ordner in Lazarus-Windows noch nicht implementiert.
Unter Lazarus-Linux funktioniert es ja schon.
Meine Suche hat allerdings auch noch keinen Forenbeitrag zu Tage gefördert der dieses Problem thematisiert.
Es scheint also nichts zu sein das auf der Agenda ganz oben steht.
Gruß Roland
vielen dank für deine Infos.
Leider haben sie mir noch nicht so richtig weitergeholfen.
Die Shellctrls haben das gleiche Problem, auch damit kann man nicht auf das Smartphone zugreifen.
Es wird noch nicht mal angezeigt.
So wie das aussieht, ist der Zugriff auf solche Laufwerke/Ordner in Lazarus-Windows noch nicht implementiert.
Unter Lazarus-Linux funktioniert es ja schon.
Meine Suche hat allerdings auch noch keinen Forenbeitrag zu Tage gefördert der dieses Problem thematisiert.
Es scheint also nichts zu sein das auf der Agenda ganz oben steht.

Gruß Roland
-
- Beiträge: 732
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: Dateien vom Android-Smartphone lesen.
Ich meinte die ShellControls von Delphi und nicht von Lazarus.
Die Delphi-ShellControls verwenden ShellObjects-Api und von Lazarus "Findfirst, Findnext ..". Hier auf Sourceforge sind die.
Vor über 10 Jahren hatte ich ein Beispiel gepostet, bevor die ShellControls von Lazarus Bilder bekam, das poste ich nochmal.
Es macht nicht das was du suchst, es arbeit auch mit "Findfirst, Findnext", aber du kannst dort sehen wie z.b. SHGetFileInfo verwendet wird. Für dich ist nur lfmosfuncwin.pas wichtig.
Vielleicht mach ich es mal übers Wochenende Treelist/Treveview mit Shellobjects, aber hoffe nicht viel, weil hier in Hamburg ist richtig warm, ich überlege gerade ein kühles Bier zu nehmen und Cyberpunk zu spielen.
Ich wünsche dir viel Glück.
Die Delphi-ShellControls verwenden ShellObjects-Api und von Lazarus "Findfirst, Findnext ..". Hier auf Sourceforge sind die.
Vor über 10 Jahren hatte ich ein Beispiel gepostet, bevor die ShellControls von Lazarus Bilder bekam, das poste ich nochmal.
Es macht nicht das was du suchst, es arbeit auch mit "Findfirst, Findnext", aber du kannst dort sehen wie z.b. SHGetFileInfo verwendet wird. Für dich ist nur lfmosfuncwin.pas wichtig.
Vielleicht mach ich es mal übers Wochenende Treelist/Treveview mit Shellobjects, aber hoffe nicht viel, weil hier in Hamburg ist richtig warm, ich überlege gerade ein kühles Bier zu nehmen und Cyberpunk zu spielen.
Ich wünsche dir viel Glück.
- Dateianhänge
-
- lazfm3scrshot.png (13.63 KiB) 7803 mal betrachtet
-
lazfm3pub.zip
- (139.01 KiB) 115-mal heruntergeladen
-
- Beiträge: 732
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: Dateien vom Android-Smartphone lesen.
Bevor ich dich komplett auf falschen Weg schicke, es hängt auch davon ab was du machen möchtest. Mann bekommt nie eine richtige Pfad-Angabe, man bekommt nur Zeiger auf diese Dateien. Ich glaube es war in shlobj.pas definiert und hieß PItemIDList, Wenn du mit Handy-Dateien etwas anfangen möchtest, dann musst du die Datei erst mit Windows-Funktionen auf temporären Ordner kopieren. Es gibt WinApi-Funktionen die mit PItemIDList arbeiten, deshalb Shellobjects-Api. Wenn du z.B. auf irgendeine Handy-Datei in Windowsexplorer doppelklickst, dann kopiert Windows 10 die Datei erst auf "C:\Users\BENUTZERNAME\AppData\Local\Microsoft\Windows\INetCache\IE\HANDYDATEIXY.Z", dann startet es ein Programm und übergibt diesen Pfad.
Ich glaube Windows ist shit, es sollte eingemottet werden.
Edit: Windows kopiert nicht, sondern tut so als ob es beim Ordner ""C:\Users\BENUTZERNAME\AppData\Local\Microsoft\Windows\INetCache\IE\" liegt.
Ich glaube Windows ist shit, es sollte eingemottet werden.
Edit: Windows kopiert nicht, sondern tut so als ob es beim Ordner ""C:\Users\BENUTZERNAME\AppData\Local\Microsoft\Windows\INetCache\IE\" liegt.
-
- Beiträge: 732
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: Dateien vom Android-Smartphone lesen.
Und diesen Pfad "C:\Users\BENUTZERNAME\AppData\Local\Microsoft\Windows\INetCache\IE\HANDYDATEIXY.Z" bekommt man mit SHGetFileInfo.
- Ally
- Beiträge: 283
- Registriert: Do 11. Jun 2009, 09:25
- OS, Lazarus, FPC: Win und Lazarus Stable release
- CPU-Target: x64
Re: Dateien vom Android-Smartphone lesen.
Kann ich nachvollziehen, bei uns gab es heute auch fast 33°Caber hoffe nicht viel, weil hier in Hamburg ist richtig warm, ich überlege gerade ein kühles Bier zu nehmen

Wenn du z.B. auf irgendeine Handy-Datei in Windowsexplorer doppelklickst, dann kopiert Windows 10 die Datei erst auf "C:\Users\BENUTZERNAME\AppData\Local\Microsoft\Windows\INetCache\IE\HANDYDATEIXY.Z", dann startet es ein Programm und übergibt diesen Pfad.
Also ich habe beides gesehen. Mal wurde die Datei, vom verlinkten Programm, offensichtlich direkt vom Smartphone geöffnet. Mal wurde eine andere Datei mit dem Zusatz [1] nach "C:\Users\BENUTZERNAME\AppData\Local\Micros..." kopiert und von dort geöffnet.Edit: Windows kopiert nicht, sondern tut so als ob es beim Ordner ""C:\Users\BENUTZERNAME\AppData\Local\Microsoft\Windows\INetCache\IE\" liegt.
Das Ganze ist also nicht ganz so trivial. Und schlussendlich müsste es noch in die entsprechenden Komponenten, wie z.B. DirectoryEdit, implementiert werden.
- h-elsner
- Lazarusforum e. V.
- Beiträge: 282
- Registriert: Di 24. Jul 2012, 15:42
- OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
- CPU-Target: X86-64; arm 32bit
- Wohnort: Illertissen
- Kontaktdaten:
Re: Dateien vom Android-Smartphone lesen.
Androidgeräte werden doch als MTP-Device gemountet. Wenn man man nach Lazarus und MTP sucht, bekommt man einige Treffer. Ich habe mich aber nicht vertieft. Einfach mal schauen, was da so alles diskutiert wird.
Warum LINUX mit MTP Devices besser zurecht kommt als Windows weiß ich nicht. MTP ist ja von M$ definiert. Muss man nicht verstehen.
Gruß HE
Warum LINUX mit MTP Devices besser zurecht kommt als Windows weiß ich nicht. MTP ist ja von M$ definiert. Muss man nicht verstehen.
Gruß HE
- af0815
- Lazarusforum e. V.
- Beiträge: 6807
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Dateien vom Android-Smartphone lesen.
Windows kann ohne Probleme mit MTP Devices umgehen, sagt aber dem Programmierer nicht, wo es das so gut versteckt. Ist eher typisch für M$, das es etwas gut kann, dafür aber keine dokumentierte Schnittstelle zur Verfügung stellt, sondern in der API versteckt.h-elsner hat geschrieben: Mo 19. Jun 2023, 16:22Warum LINUX mit MTP Devices besser zurecht kommt als Windows weiß ich nicht. MTP ist ja von M$ definiert. Muss man nicht verstehen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 732
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: Dateien vom Android-Smartphone lesen.
Tut mir leid, ich konnte da nichts mehr machen, keine Zeit und keine Lust gehabt.
Ich lade hier eine Komponente hoch, die Ich vor vielen Jahren im Netz gefunden hatte. Es ist "Shell PathComboBox " und alles in einer Datei und sehr einfach. Da kannst du sehen wie es gemacht wird. Und wenn du im Internet nach "delphi shellobjects" suchst, dann findest auch auch genug Infos.
Edit: Ich hatte Anhang vergessen.
Ich lade hier eine Komponente hoch, die Ich vor vielen Jahren im Netz gefunden hatte. Es ist "Shell PathComboBox " und alles in einer Datei und sehr einfach. Da kannst du sehen wie es gemacht wird. Und wenn du im Internet nach "delphi shellobjects" suchst, dann findest auch auch genug Infos.
Edit: Ich hatte Anhang vergessen.
- Dateianhänge
-
PathComboBox-pub.zip
- (6.19 KiB) 120-mal heruntergeladen
- Ally
- Beiträge: 283
- Registriert: Do 11. Jun 2009, 09:25
- OS, Lazarus, FPC: Win und Lazarus Stable release
- CPU-Target: x64
Re: Dateien vom Android-Smartphone lesen.
Vielen Dank für eure Hinweise.
Das jetzt alles in FP und Lazarus zu implementieren, ist sicherlich nur etwas für jemanden der sich wirklich gut damit auskennt.
Das jetzt alles in FP und Lazarus zu implementieren, ist sicherlich nur etwas für jemanden der sich wirklich gut damit auskennt.