Einzelnen Beitrag anzeigen

NicoDE
(Gast)

n/a Beiträge
 
#20

Re: Netzwerkkennwort dialog anzeigen

  Alt 11. Jul 2004, 12:56
Ein Beispielaufruf könnte so aussehen:
Delphi-Quellcode:
uses
  WinCred;

resourcestring
  MessageText = 'Geben Sie Namen und Kennwort eines Kontos mit ' +
                'Berechtigungen für %s ein.'#13#10#13#10 +
                'Beispiel: benutzername oder domäne\benutzername';
  CaptionText = 'Netzwerkkennwort eingeben';

procedure TForm1.Button1Click(Sender: TObject);
const
  TargetName = 'Blindschacht';
var
  UserName: array [0..CRED_MAX_USERNAME_LENGTH] of Char;
  Password: array [0..CREDUI_MAX_PASSWORD_LENGTH] of Char;
  Info: TCredUIInfo;
  Save: BOOL;
  Flag: DWORD;
begin
  ZeroMemory(@UserName, SizeOf(UserName));
  ZeroMemory(@Password, SizeOf(Password));
  ZeroMemory(@Info, SizeOf(TCredUIInfo));
  with Info do
  begin
    cbSize := SizeOf(TCredUIInfo);
    hwndParent := Handle;
    pszMessageText := PChar(Format(MessageText, [TargetName]));
    pszCaptionText := PChar(CaptionText);
  end;
  Save := False;
  Flag := CREDUI_FLAGS_DO_NOT_PERSIST or CREDUI_FLAGS_EXCLUDE_CERTIFICATES or
    CREDUI_FLAGS_GENERIC_CREDENTIALS or CREDUI_FLAGS_ALWAYS_SHOW_UI;
  ShowMessage(SysErrorMessage(
    CredUIPromptForCredentials(@Info, 'Foo', nil, 0,
      UserName, CRED_MAX_USERNAME_LENGTH+1,
      Password, CREDUI_MAX_PASSWORD_LENGTH+1,
      Save, Flag)));
  ZeroMemory(@UserName, SizeOf(UserName));
  ZeroMemory(@Password, SizeOf(Password));
end;
Im Anhang gibt's die benötigte Unit WinCred.pas (frag nich, hatte gerade Langweile )
Angehängte Dateien
Dateityp: pas wincred.pas (44,6 KB, 43x aufgerufen)
  Mit Zitat antworten Zitat