Çözüldü C# kullanıcı hesabı resmi nasıl alınır?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

404631

Hectopat
Katılım
24 Aralık 2020
Mesajlar
3.100
Makaleler
1
Çözümler
30
Bir saattir internette bakmadığım site kalmadı. Programımda bir yerde kullanıcı profil resmini kullanacağım ama nasıl alabileceğimi bulamadım. Not: WPF kullanıyorum.
 
Çözüm
Okudum ama burada yaptığım kullanım ile ilgili bölüm yok.
[CODE lang="csharp" title="C#"]BitmapImage bitmap = new BitmapImage();
bitmap.BeginInit();
bitmap.UriSource = new Uri(GetUserImage(), UriKind.Relative); // Kaynağı ayarlıyoruz.
bitmap.EndInit();
ProfilePicture.Stretch = Stretch.Fill;
ProfilePicture.ImageSource = bitmap;[/CODE]

Bu şekilde uyarlayabilirsiniz.
Windows 11. Hesap çevrimdışı. O klasörde sadece varsayılan fotoğraflar var.
İlginç gerçekten. İnternette araştırdığım kadarıyla bir de zor yolu mevcut. Sanırım bu sefer kesin sonuç alabilirsiniz.

[CODE lang="csharp" title="C#"] [DllImport("shell32.dll", EntryPoint = "#261",
CharSet = CharSet.Unicode, PreserveSig = false)]
public static extern void GetUserTilePath(
string username,
UInt32 whatever,
StringBuilder picpath, int maxLength);
public static string GetUserImage(string username = null)
{
var sb = new StringBuilder(1000);
GetUserTilePath(username, 0x80000000, sb, sb.Capacity);
return sb.ToString();
}[/CODE]

InteropService ile Windows API'den çekme işlemi yapılmış.
 
İlginç gerçekten. İnternette araştırdığım kadarıyla bir de zor yolu mevcut. Sanırım bu sefer kesin sonuç alabilirsiniz.

[CODE lang="csharp" title="C#"] [DllImport("shell32.dll", EntryPoint = "#261",
CharSet = CharSet.Unicode, PreserveSig = false)]
public static extern void GetUserTilePath(
string username,
UInt32 whatever,
StringBuilder picpath, int maxLength);
public static string GetUserImage(string username = null)
{
var sb = new StringBuilder(1000);
GetUserTilePath(username, 0x80000000, sb, sb.Capacity);
return sb.ToString();
}[/CODE]

InteropService ile Windows API'den çekme işlemi yapılmış.
Peki bunu nasıl resim olarak kullanacağım.
 
Nasıl yazmalıyım ki?
[CODE lang="csharp" highlight="15"][DllImport("shell32.dll", EntryPoint = "#261",
CharSet = CharSet.Unicode, PreserveSig = false)]
public static extern void GetUserTilePath(
string username,
UInt32 whatever,
StringBuilder picpath, int maxLength);
public static string GetUserImage(string username = null)
{
var sb = new StringBuilder(1000);
GetUserTilePath(username, 0x80000000, sb, sb.Capacity);
return sb.ToString();
}
private void DemoEssentialWindow_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
ProfilePicture.ImageSource = Image.FromFile(sb);
string userName = Environment.UserName;
UserProfile.Content = userName;
}[/CODE]
 
[CODE lang="csharp" highlight="15"][DllImport("shell32.dll", EntryPoint = "#261",
CharSet = CharSet.Unicode, PreserveSig = false)]
public static extern void GetUserTilePath(
string username,
UInt32 whatever,
StringBuilder picpath, int maxLength);
public static string GetUserImage(string username = null)
{
var sb = new StringBuilder(1000);
GetUserTilePath(username, 0x80000000, sb, sb.Capacity);
return sb.ToString();
}
private void DemoEssentialWindow_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
ProfilePicture.ImageSource = Image.FromFile(sb);
string userName = Environment.UserName;
UserProfile.Content = userName;
}[/CODE]
Image.FromFile() kısmında sb yerine GetUserImage() yazmalısınız. sb diye bir değişken yok çünkü bu değişken bu metodun içinde tanımlanmış.
 
Tamam.
C#:
ProfilePicture.ImageSource = System.Drawing.Image.FromFile(GetUserImage());
Bu kod neden çalıştırılmıyor.
Çalıştırılmıyordan kastınız nedir? Kod derlenmiyor mu, çalıştırılırken hata mı veriyor? Aldığınız hatayı söyleyebilir misiniz?
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Yeni konular

Geri
Yukarı