2013-06-03 3 views
2

Как мы можем получить изображение профиля пользователя, которое они используют в WIndows 7 и Windows 8? (Я в основном хочу этого для Windows 8). До сих пор я видел только кучу сообщений на форуме, в которых говорится, что это невозможно, но я вижу, что приложения оставлены вправо и в центре, что можно сделать.Получить профиль учетной записи пользователя по умолчанию Picture on Windows Vista> 8

+1

http://code.msdn.microsoft.com/windowsapps/Account-picture-name-sample-912baff1 – jbabey

+0

@jbabey - наверняка это должен был быть ответом, а не комментарием. –

+0

Достаточное исследование было сделано, но ничего не найдено для Windows 7 и ниже. У меня больше нет Windows 7 (или Vista), поэтому мне нужно знать, что код, который я нахожу, будет работать вместо того, чтобы полагаться на ответы, написанные людьми, которые заявляют, что это не гарантированный способ получить изображение профиля. Спасибо за ссылку; он не показал ни одного из результатов. –

ответ

2

По Serge - appTranslator:

blog post Это показывает, как задать пользовательскую плитку (рисунок). В комментарии ближе к концу (Майкл Энтони, 10 апреля, 22:45), комментатор описывает, как получить картину. Я собрал информацию в фрагмент C#. Помните, что это основано на недокументированной функции Windows Shell.

using System; 
    using System.Text; 
    using System.Drawing; 

    [DllImport("shell32.dll", EntryPoint = "#261", 
       CharSet = CharSet.Unicode, PreserveSig = false)] 
    public static extern void GetUserTilePath(
     string username, 
     UInt32 whatever, // 0x80000000 
     StringBuilder picpath, int maxLength); 

    public static string GetUserTilePath(string username) 
    { // username: use null for current user 
     var sb = new StringBuilder(1000); 
     GetUserTilePath(username, 0x80000000, sb, sb.Capacity); 
     return sb.ToString(); 
    } 

    public static Image GetUserTile(string username) 
    { 
     return Image.FromFile(GetUserTilePath(username)); 
    } 

Обратите внимание, что эта функция Shell создает файл \ Users \ <USER> \ AppData ... \ <USER> .bmp и возвращает имя файла.

Кроме того, я тестировал его на Win7. Я не имею понятия о его совместимости с прежними версиями Windows.

Кредиты до Joco и Michael Anthony.

+0

Большое спасибо @ One Man Crew! Очень ценится :-) –

+0

@One Man Crew Это очень полезно! – user2068793

Смежные вопросы