![]() |
alle pcs mit ip auflisten
Hallo,
ihr kennt doch bestimmt Luckie's Net-Send Programm... ![]() 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! |
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.
|
Re: alle pcs mit ip auflisten
Hallo,
die Wahrscheinlichkeit dass Luckie die Rechner mit SelectDirectory auflistet halte ich für sehr hoch. |
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).
|
Re: alle pcs mit ip auflisten
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo
evt so. D7 Pro bringt da schon was mit. |
Re: alle pcs mit ip auflisten
Nicht schlecht :thuimb: , aber es sollen ja die Computer und die dazugehörigen IP's angezeigt werden.
|
Re: alle pcs mit ip auflisten
Zitat:
|
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? |
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:
hDlg ist das Handle deines Fensters. In s steht dann der gewählte Computer ohne die "\\" am Anfang.
var
Buffer: array[0..1024] of Char; s: String; begin ServerBrowseDialogA0(hDlg, @Buffer, sizeof(Buffer)); s := copy(string(Buffer), 3, length(string(Buffer))); |
Re: alle pcs mit ip auflisten
Was ist denn bitte ein ServerBrowseDialogA0 ???
Ne Komponente ja wohl nicht... |
Re: alle pcs mit ip auflisten
Eine Funktion aus einer Windows DLL, die Borland in keiner Komponente gekapselt hat.
|
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. |
Re: alle pcs mit ip auflisten
Delphi-Quellcode:
Irgendwie komisch. Klickt man of "OK" liefert er False zurück und bei Klicken auf "Abbrechen" True. :shock: :gruebel:
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; |
Re: alle pcs mit ip auflisten
|
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