Delphi-Quellcode:
type
TServerBrowseDialogA0 =
function(hwnd: HWND; pchBuffer: pointer; cchBufSize:
DWord): bool;
stdcall;
var
ServerBrowseDialogA0: TServerBrowseDialogA0 =
nil;
function LoadLanManDLL: Boolean;
var
LANMAN_DLL: THandle;
begin
result := True;
LANMAN_DLL := GetModuleHandle('
NTLANMAN.DLL');
if LANMAN_DLL = 0
then
LANMAN_DLL := LoadLibrary('
NTLANMAN.DLL');
if LANMAN_DLL <> 0
then
begin
@ServerBrowseDialogA0 := GetProcAddress(LANMAN_DLL, '
ServerBrowseDialogA0');
if @ServerBrowseDialogA0 =
nil then
result := False;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Buffer:
array[0..1024]
of Char;
s:
String;
begin
if LoadLanManDLL
then
begin
if not ServerBrowseDialogA0(
Handle, @Buffer, sizeof(Buffer))
then
begin
s := copy(
string(Buffer), 3, length(
string(Buffer)));
ShowMessage(s);
end;
end;
end;
Irgendwie komisch. Klickt man of "OK" liefert er False zurück und bei Klicken auf "Abbrechen" True.