Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Windows Nutzer Bild auslesen (https://www.delphipraxis.net/204639-windows-nutzer-bild-auslesen.html)

MyRealName 14. Jun 2020 20:19


Windows Nutzer Bild auslesen
 
Hallo,

ich spiele gerade mit der WindowsRT rum und versuche das Nutzerbild auszulesen, stosse dabei aber auf diverse Probleme. Das genze geht über die Unit WinApi.SystemRT mit dem Aufruf

Code:
TUserProfile_UserInformation.GetAccountPicture
Das geht aber schonmal scheinbar nur für den augenblicklichen Account, da ich nirgends einen anderen Account angeben kann. Kennt Ihr da was, wo ich von allen Accounts die Bilder auslesen kann ?
Dann kommt als Ergebnis ein IStorageFile interface, das hat zum Bsp. die Funktion OpenAsync welches mir ein anders Interface gibt : IAsyncOperation_1__IRandomAccessStream
Da stecke ich jetzt fest, ich sehe nicht, wie ich damit weiter vorgehen soll. Ich nehme mal an, dass das mit IAsyncOperation_1__IRandomAccessStream.GetResults geht. Ich finde auch keine Beschreibung des Streams, ab wann, was wie wo lesen, welches Format, nichts...

Ideen ?

jaenicke 15. Jun 2020 05:33

AW: Windows Nutzer Bild aislesen
 
Zitat:

Zitat von MyRealName (Beitrag 1467255)
Das geht aber schonmal scheinbar nur für den augenblicklichen Account, da ich nirgends einen anderen Account angeben kann.

Dafür ist das nicht gedacht. Allerdings ist der Weg unter Windows 10 auch veraltet. Siehe Doku:
https://docs.microsoft.com/en-us/uwp...ew=winrt-19041

Die empfohlene User-Klasse wiederum funktioniert auch mit anderen Benutzern als dem aktuellen Benutzer:
https://docs.microsoft.com/en-us/uwp...ew=winrt-19041

TUser gibt es mit der Klassenfunktion FindAllAsync usw. auch in der genannten Unit in Delphi. Und mit GetPictureAsync kann man dann z.B. das Bild holen.

MyRealName 15. Jun 2020 07:09

AW: Windows Nutzer Bild aislesen
 
Gibt es dafür ein Beispiel in Delphi, wie man mit diesen GetPictureAsync Ergebnis-Stream umzugehen hat ?
Ich habe bisher dazu nichts gefunden. WIe kriege ich diesen RandomAccessStream in einen normalen Delphi Stream ?

jaenicke 16. Jun 2020 11:33

AW: Windows Nutzer Bild auslesen
 
Irgendwie sieht das Interface IRandomAccessStreamWithContentType dazu irgendwie zu leer aus...
https://docs.microsoft.com/en-us/uwp...041#properties

Keine Ahnung wie das gedacht ist... vielleicht musst du das Interface selbst korrekt deklarieren und casten...


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz