Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Logo des Users vom Anmeldebildsch. holen, aber wie ? (https://www.delphipraxis.net/75509-logo-des-users-vom-anmeldebildsch-holen-aber-wie.html)

turboPASCAL 20. Aug 2006 16:23


Logo des Users vom Anmeldebildsch. holen, aber wie ?
 
hi,

Wie bekomme ich das Logo des Users vom Anmeldebildschirm ? Würde es gern in mein Prog. einbaues also welcher User usw.

NetUserEnum hab ich schon mal, aber bin mir im unklaren wie ich an das Bild komme.

MathiasSimmack 20. Aug 2006 16:37

Re: Logo des Users vom Anmeldebildsch. holen, aber wie ?
 
Welches Bild? Das von XP? Dann guck mal unter "All Users\???\User Account Pictures". Wenn du den Benutzernamen hast, dann ".bmp" dran und voilà.

turboPASCAL 20. Aug 2006 16:43

Re: Logo des Users vom Anmeldebildsch. holen, aber wie ?
 
Ha, da ist es ja! Danke.

Den Rahmen drum rum macht ja wol dann das akt. Theme.

faux 20. Aug 2006 16:49

Re: Logo des Users vom Anmeldebildsch. holen, aber wie ?
 
Hallo!

Das ganze wird nicht so einfach werden, wie es scheint, denn Delphi hat anscheinend Probleme mit diesen Icons: http://www.delphi-forum.de/viewtopic.php?t=58458.

Grüße
Faux

MathiasSimmack 20. Aug 2006 17:08

Re: Logo des Users vom Anmeldebildsch. holen, aber wie ?
 
Ich hatte damit keine Probleme in CSharp. ListView auf die Form, kleine Routine gebastelt, voilà: Bild war drin. So wie es auch ausschaut. Der Rahmen war mir dabei aber egal. :stupid: Und bei Delphi könnte die korrekte Farbtiefe wohl helfen.

turboPASCAL 24. Aug 2006 20:14

Re: Logo des Users vom Anmeldebildsch. holen, aber wie ?
 
Zitat:

Zitat von faux
Das ganze wird nicht so einfach werden, wie es scheint, denn Delphi hat anscheinend Probleme mit diesen Icons...

Delphi ja, Windows nein. Verwende einfach LoadImage dann werden die Icons (Bitmaps) richtig Dargestellt.

Delphi-Quellcode:
implementation

{$R *.dfm}

uses
  ShlObj;

function TForm1.CommonDataPath: string;
const
  CSIDL_COMMON_APPDATA = $0023; // All Users\Application Data
var
  Path: array [0..1024] of char;
begin
  if SHGetSpecialFolderPath(Handle, Path, CSIDL_COMMON_APPDATA, TRUE)
    then Result := String(path)
    else Result := '';
end;

function TForm1.GetCurrentUserName: String;
var
  pcUserName : pChar; // temporary storage
  dwMaxChars : dWord; // length parameter
const
  MAXCHARS = 255; // max length
begin
  dwMaxChars := MAXCHARS;
  GetMem(pcUserName, MAXCHARS + 1);
  if GetUserName(pcUserName, dwMaxChars)
    then Result := String(pcUserName)
    else Result := '';
  FreeMem(pcUserName);
end;

procedure TForm1.FormCreate(Sender: TObject);
var LgPath: String;
begin
  Label1.Caption := GetCurrentUserName;

  LgPath := CommonDataPath + '\Microsoft\User Account Pictures\' +
            Label1.Caption + '.bmp';

  if FileExists(LgPath) then
  begin
    Image1.Picture.Bitmap.Handle :=
      LoadImage(0, PChar(LgPath), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
  end else
    ShowMessage(format('%s'#13#10'"%s"', ['Datei nicht gefunden:', LgPath]));
end;

Daniel B 24. Aug 2006 23:00

Re: Logo des Users vom Anmeldebildsch. holen, aber wie ?
 
@tP

bei mir klappt der Code super! :thumb:

Jowo 3. Okt 2006 16:47

Re: Logo des Users vom Anmeldebildsch. holen, aber wie ?
 
Wie ist das mit dem GetCurrentUserName? Bei mir kommt da immer eine Fehlermeldung...

Daniel B 3. Okt 2006 16:49

Re: Logo des Users vom Anmeldebildsch. holen, aber wie ?
 
Und welche???

turboPASCAL 3. Okt 2006 16:50

Re: Logo des Users vom Anmeldebildsch. holen, aber wie ?
 
Ja, und was wird dir denn gemeldet ?

"Bei mir kommt da immer eine Fehlermeldung..."
ist ja sehr vielsagend. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:15 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz