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