...display the 'Choose Computer' dialog?

Author: DaRoule 

0 Comments to this tip [Write new comment]

[ Print tip ]    

 

Tip Rating (5):  

Skill:  

Useful:  

Overall:  

 

 

 

{

  Der "Computer auswählen" Dialog ist ein Dialog von Windows

  2k/NT/XP (NTLANMAN.DLL) mit einer ListView

  in dem der Server und die dazugehörigen Computer angezeigt werden.

}

 

{

  The "Choose Computer" is a dialog provided by network services

  (NTLANMAN.DLL) for Windows 2k/NT/XP

  to display the servers and their computers.

}

 

 

type

  TServerBrowseDialogA0 = function(hwnd: HWND; pchBuffer: Pointer; cchBufSize: DWORD): bool; 

  stdcall;

 

 

function ShowServerDialog(AHandle: THandle): string;

var

  ServerBrowseDialogA0: TServerBrowseDialogA0;

  LANMAN_DLL: DWORD;

  buffer: array[0..1024] of char;

  bLoadLib: Boolean;

begin

  LANMAN_DLL := GetModuleHandle('NTLANMAN.DLL');

  if LANMAN_DLL = 0 then

  begin

    LANMAN_DLL := LoadLibrary('NTLANMAN.DLL');

    bLoadLib := True;

  end;

  if LANMAN_DLL <> 0 then

  begin @ServerBrowseDialogA0 := GetProcAddress(LANMAN_DLL, 'ServerBrowseDialogA0');

    DialogBox(HInstance, MAKEINTRESOURCE(101), AHandle, nil);

    ServerBrowseDialogA0(AHandle, @buffer, 1024);

    if buffer[0] = '\' then

    begin

      Result := buffer;

    end;

    if bLoadLib then

      FreeLibrary(LANMAN_DLL);

  end;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  label1.Caption := ShowServerDialog(Form1.Handle);

end;