1

基本的に、「コンソール アプリケーション」から Windows 8 アカウントの画像を設定しようとしています。私が見つけた画像を設定するための唯一の API は、WinRT API にあります。基本的に同じ質問 ( Windows 8 Set User Account Image ) により、少なくともハイブリッドを構築できるようになりましたが、機能していないようです。

private static async Task SetAccountPicture(string employeeId)
{
    // Download image
    string imagePath = DownloadImage(employeeId);

    // Set account picture
    Stream fileStream = File.Open(imagePath, FileMode.Open);
    IRandomAccessStream winRTStream = await DotNetToWinRTStream(fileStream);
    SetAccountPictureResult result = await UserInformation.SetAccountPicturesFromStreamsAsync(null, winRTStream, null);

    // Clean up download file
    File.Delete(imagePath);
}

public static async Task<IRandomAccessStream> DotNetToWinRTStream(Stream dotNetStream)
{
    IBuffer buffer;
    var inputStream = dotNetStream.AsInputStream();
    using (var reader = new DataReader(inputStream))
    {
        await reader.LoadAsync((uint)dotNetStream.Length);
        buffer = reader.DetachBuffer();
    }

    var memoryStream = new InMemoryRandomAccessStream();
    await memoryStream.WriteAsync(buffer);
    return memoryStream;
}

SetAccountPictureResult には、他の情報がなくても「失敗」と表示されます。ここで何が起こっているのでしょうか?

4

0 に答える 0