Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi alle pcs mit ip auflisten (https://www.delphipraxis.net/21214-alle-pcs-mit-ip-auflisten.html)

Luckie 29. Apr 2004 20:57

Re: alle pcs mit ip auflisten
 
Eine Funktion aus einer Windows DLL, die Borland in keiner Komponente gekapselt hat.

Neuni 30. Apr 2004 12:55

Re: alle pcs mit ip auflisten
 
:( :( :(
ich raff das ganze einfach nicht...kann mir jemand sagen was falsch ist??

Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
procedure Button1Click(Sender: TObject);
 TServerBrowseDialogA0 = function(hwnd: HWND; pchBuffer: pointer; cchBufSize:
    DWord): bool; stdcall;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
    ServerBrowseDialogA0: TServerBrowseDialogA0 = nil;

    const
  ServerBrowseDialogA0_name = 'ServerBrowseDialogA0';

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
var
  Buffer: array[0..1024] of Char;
  s: String;
begin
  ServerBrowseDialogA0(hDlg, @Buffer, sizeof(Buffer));
  s := copy(string(Buffer), 3, length(string(Buffer)));
  label1.capzion := s;
end;

end.

Luckie 30. Apr 2004 13:13

Re: alle pcs mit ip auflisten
 
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. :shock: :gruebel:

Neuni 30. Apr 2004 13:22

Re: alle pcs mit ip auflisten
 
Hey, danke es geht.
http://home.arcor.de/neuni88/smile/beste.gif


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 Uhr.
Seite 2 von 2     12   

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