скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Показать диалог выбора компьютера



- Дорогой, ты кого больше любишь? Меня или эту дурацкую штуку, за которой ты проводить целый, св#лочь!!!
- Ну, киса, как ты можешь сравнивать неодушевленный предмет с компьютером?!


{ 
  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;






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook