我正在嘗試C:\ProgramData\Microsoft\User Account Pictures\{UserName}.dat通過以下代碼獲取 Windows 用戶個人資料圖片:
public static Image GetUserimage()
{
if (File.Exists(@"C:\ProgramData\Microsoft\User Account Pictures\" Environment.UserName ".dat"))
{
return Image.FromFile(@"C:\ProgramData\Microsoft\User Account Pictures\" Environment.UserName ".dat");
}
else
{
return Cheat.Properties.Resource1.Image1;
}
}
但是在嘗試呼叫它時出現此錯誤pictureBox1.Image = GetUserimage();:
System.OutOfMemoryException: 'Out of memory.'
我認為原因.dat不是影像檔案將其用作影像。
所以我的問題是如何將 .dat 檔案轉換為影像格式以將其用作影像 VAR?
uj5u.com熱心網友回復:
在 Windows 10/11 上,您可以直接通過 WinRT API 獲取用戶的組態檔。
API 檔案
在此處查看示例:GitHub 上的 UWP 示例
uj5u.com熱心網友回復:
AnSystem.OutOfMemoryException通常是在試圖讀取System.Drawing實際上不是一個影像的影像時提出的。
檢查我自己的 Windows 安裝,似乎那些不是您想要用于用戶個人資料圖片的檔案(在我的情況下它們是空的)。
我找到了一個已經回答的問題,它可能會對您有所幫助:https : //stackoverflow.com/a/9149243/7972419
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/390785.html
