如何提取当前用户的帐户图片?

时间:2010-04-20 18:41:26

标签: c++ windows account

我正在尝试在Windows 7中提取当前用户的帐户图片,但我似乎无法弄清楚它位于何处。我发现图片有时会写入用户的临时文件夹,但只能在执行某些操作后才能写入。它并不总能保证在那里。有没有人有运气提取这张图片?谢谢!

更新:我正在尝试使用C ++提取图像,但使用任何语言提供帮助都是一大步。 :)

3 个答案:

答案 0 :(得分:3)

每当API调用需要UserTile时,它都会被复制到%TEMP%\%USERNAME%。bmp ,它通常是 C:\ Users \ username \ AppData \ Local \ Temp \ username.bmp

但是如果您需要直接从SAM中提取它,您可以调整http://deployment.xtremeconsulting.com/2010/06/23/usertile-automation-part-1/的详细信息,使程序读取 HKLM \ SAM \ SAM \ Domains \ Account \ Users \ ??? ????? \ UserTile (在系统上下文中!),跳过12个字节,读取4个字节到uint,并将uint个字节数读入文件。

编辑:我觉得我应该添加Windows XP中的资源管理器用于获取图标的API调用,是其中一个登录DLL的未命名地址(因此您不能自己调用​​它,因为该地址应该在版本),我不记得目前哪个精确的DLL。

答案 1 :(得分:1)

在Windows 7中的用户个人资料平铺下描述了here。这似乎不太令人鼓舞。

答案 2 :(得分:0)

我不确定你想要如何提取图片。但是,如果您只是可以使用Windows资源管理器,请转到 C:\ Users \(您的用户名)\ AppData \ Local \ Temp 。图像文件名为(您的用户名).bmp

我是从http://www.sevenforums.com/tutorials/5187-user-account-picture-change.html得到的。我检查过它并且有效。