Delphi-PRAXiS

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)

Neuni 29. Apr 2004 13:29


alle pcs mit ip auflisten
 
Hallo,
ihr kennt doch bestimmt Luckie's Net-Send Programm...HIER KLICKEN WENN NICHT

Dort gibt es die möglichkeit alle PC's im Lan anzuzeigen, und dann einen PC auszuwählen.

Meine Frage nun: Wie geht das? Also im prinzip sollen alle Rechner aufgelistet werden, und dann soll man einen auswählen können...die IP des ausgewählten Rechners soll dann in eine Variable gespeichert werden.

PS: Im Forum hab ich schon gesucht, aber entweder gings nicht, oder es war nicht das richtige...

Hoffe ihr könnt mir helfen!

Jörn 29. Apr 2004 13:44

Re: alle pcs mit ip auflisten
 
Man schickt einen UDP-Broadcast (dazu findet sich hier genug) und speichert dann alle IPs von antwortenden Rechner in einem (dynamischen) Array. Ohne Gewähr.

Jens Schumann 29. Apr 2004 13:53

Re: alle pcs mit ip auflisten
 
Hallo,
die Wahrscheinlichkeit dass Luckie die Rechner mit SelectDirectory auflistet halte ich für
sehr hoch.

Neuni 29. Apr 2004 13:57

Re: alle pcs mit ip auflisten
 
hmm....hat jemand ne ahnung wie das geht??? Man könnte ja sonst auch alle Server die auf einem bestimmten Port laufen anzeigen (wär für meine Zwecke ausreichend).

Jens Schumann 29. Apr 2004 18:04

Re: alle pcs mit ip auflisten
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo
evt so. D7 Pro bringt da schon was mit.

Neuni 29. Apr 2004 18:06

Re: alle pcs mit ip auflisten
 
Nicht schlecht :thuimb: , aber es sollen ja die Computer und die dazugehörigen IP's angezeigt werden.

Luckie 29. Apr 2004 18:57

Re: alle pcs mit ip auflisten
 
Zitat:

Zitat von Neuni
Meine Frage nun: Wie geht das?

Wenn keiner meinen Webspace gehackt hat, sollten die Sourcen noch dabei sein. ;)

Neuni 29. Apr 2004 19:36

Re: alle pcs mit ip auflisten
 
also nichts gegen deinen source, aber ich blick da nicht ganz duch(vielleicht weil ich keine Form sehe)

Kannste mir das vielleicht raussuchen?

Luckie 29. Apr 2004 20:00

Re: alle pcs mit ip auflisten
 
Delphi-Quellcode:
// Deklarationen des Dialoges
const
  ServerBrowseDialogA0_name = 'ServerBrowseDialogA0';

type
  TServerBrowseDialogA0 = function(hwnd: HWND; pchBuffer: pointer; cchBufSize:
    DWord): bool; stdcall;

var
  ServerBrowseDialogA0: TServerBrowseDialogA0 = nil;
Delphi-Quellcode:
var
  Buffer: array[0..1024] of Char;
  s: String;
begin
  ServerBrowseDialogA0(hDlg, @Buffer, sizeof(Buffer));
  s := copy(string(Buffer), 3, length(string(Buffer)));
hDlg ist das Handle deines Fensters. In s steht dann der gewählte Computer ohne die "\\" am Anfang.

Neuni 29. Apr 2004 20:04

Re: alle pcs mit ip auflisten
 
Was ist denn bitte ein ServerBrowseDialogA0 ???

Ne Komponente ja wohl nicht...

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 05:49 Uhr.

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