AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte LuckiePing

LuckiePing

Ein Thema von Luckie · begonnen am 19. Mär 2006 · letzter Beitrag vom 2. Dez 2010
Antwort Antwort
Seite 16 von 17   « Erste     6141516 17   
Benutzerbild von nicodex
nicodex

Registriert seit: 2. Jan 2008
Ort: Darmstadt
286 Beiträge
 
Delphi 2007 Professional
 
#1

Re: LuckiePing

  Alt 5. Mai 2008, 18:13
Zitat von renekr:
Hast du diese Funktion mal unter Vista getestet oder liegt es ev. an Rechten oder der UAC.
IcmpSendEcho() mag unter Vista keinen TimeOut von 0.

Ersetze IcmpPing (in retPing.pas) durch diese Version:
Delphi-Quellcode:
(**)
type
  PIPAddr = ^TIPAddr;
  TIPAddr = record
    S_un: record
      case Integer of
        1: (
          S_un_b: record
            s_b1: Byte;
            s_b2: Byte;
            s_b3: Byte;
            s_b4: Byte;
          end);
        2: (
          S_un_w: record
            s_w1: Word;
            s_w2: Word;
          end);
        4: (
          S_addr: LongWord);
    end;
  end;
  PIpOptionInformation32 = ^TIpOptionInformation32;
  TIpOptionInformation32 = record
    Ttl : Byte;
    Tos : Byte;
    Flags : Byte;
    OptionsSize: Byte;
    OptionsData: LongWord; // Pointer32
  end;
  PIcmpEchoReply32 = ^TIcmpEchoReply32;
  TIcmpEchoReply32 = record
    Address : TIPAddr;
    Status : LongWord;
    RoundTripTime: LongWord;
    DataSize : Word;
    Reserved : Word;
    Data : LongWord; // Pointer32
    Options : TIpOptionInformation32;
  end;
(**)

function IcmpPing(IP: DWORD): Boolean;
var
  IcmpHandle: THandle;
  ReplyBuffer: record
    EchoReply: TIcmpEchoReply32;
  end;
begin
  Result := False;
  IcmpHandle := IcmpCreateFile;
  if IcmpHandle <> INVALID_HANDLE_VALUE then
  try
    FillChar(ReplyBuffer, SizeOf(ReplyBuffer), 0);
    Result := IcmpSendEcho(IcmpHandle, TInAddr(IP), nil, 0, nil, @ReplyBuffer,
      SizeOf(ReplyBuffer), 1000) <> 0;
  {$IFDEF DEBUG}
    if not Result then
      Assert(GetLastError() <> ERROR_INVALID_PARAMETER,
        'IcmpSendEcho: Invalid Parameters!');
  {$ENDIF DEBUG}
  finally
    IcmpCloseHandle(IcmpHandle);
  end;
end;
...dann sollte es wieder funktionieren.
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: LuckiePing

  Alt 5. Mai 2008, 18:20
@Luckie: Prima Progi ! ..habe nur festgestellt , bei einem Test eines groesseren IP-Adress-Bereichs, es wurden 7 Threads nicht beendet(Stand zumindestens in Deinem Programm)..waren ca. 2500 Geraete die ich gescannt habe. Aber Programm lies sich beenden(ohne abzuschiessen).
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#3

Re: LuckiePing

  Alt 5. Mai 2008, 18:29
Zitat von Luckie:
Was für eine Auflösung benutzt du denn, damit ich mir das mal angucken kann.
1024 x 768er Auflösung

Habs grad unter Vista probiert, da findet der keinen Rechner.
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: LuckiePing

  Alt 5. Mai 2008, 18:37
Hi nico,
Danke für die Info.
Werd es morgen gleich testen.
Dann stelle ich das Ergebniss hier rein.

Also ich habe es implementiert und es geht super.
Auch unter XP funzt es immer ncoh.

Vielen Vielen Dank.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: LuckiePing

  Alt 6. Mai 2008, 09:45
Zitat von Der.Kaktus:
@Luckie: Prima Progi ! ..habe nur festgestellt , bei einem Test eines groesseren IP-Adress-Bereichs, es wurden 7 Threads nicht beendet(Stand zumindestens in Deinem Programm)..waren ca. 2500 Geraete die ich gescannt habe. Aber Programm lies sich beenden(ohne abzuschiessen).
Dann sind noch nicht alle Pings zurückgekehrt.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: LuckiePing

  Alt 4. Jun 2008, 16:32
Hallo Micha,

haette noch 2 Sachen zu dem Programm zum aendern bzw. erweitern

1: bei Aufloesung (grosse Schriftarten)..ueberschreibt der Listview die Eingabefelder (IP-bereiche). ich loes das immer mit scaled=true..aber das ist ja nicht VCL.
2: evtl. eine Ini-Datei, welche man laden/speichern kann mit IP-Adress-Bereichen, bei Vielbenutzung sehr hilfreich.


P.S.: heute eins aus der CT probiert (testhalber)..kann zwar Auswahl..aber dauert sehr sehr!!! lange.
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: LuckiePing

  Alt 4. Jun 2008, 22:07
Zitat von Der.Kaktus:
2: evtl. eine Ini-Datei, welche man laden/speichern kann mit IP-Adress-Bereichen, bei Vielbenutzung sehr hilfreich.
Mal sehen, wen nich Zeit finde. Ich habe auch schon Verbesserungsvorschläge für den Usermanager und den Filecrypter auf der Liste stehen. Die mus sich nach und nach mal abarbeiten, wobei der Usermanager die höchste Priorität besitzt, weil ich damit etwas Geld verdiene.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: LuckiePing

  Alt 24. Sep 2008, 16:43
Hi Lucky,
Ich habe mal ne Frage:
Ich nehme die GetIPAdress Function und wen n1 PC nicht an ist oder nicht existiert dauert es verständlicherweise sehr lang bis das Programm weitermacht bei mir.
gibt es da eine andere Lösung?
Kann ich ev. den Rechnername gegen den DHCP werfen udn bekomme dann eine IP ?

Danke
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#9

Re: LuckiePing

  Alt 24. Sep 2008, 16:56
Gibts bei dieser Funktion keinen TimeOut den du setzen kannst?
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

Registriert seit: 13. Feb 2007
306 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: LuckiePing

  Alt 24. Sep 2008, 17:06
bei mir dauert das ewig, bis er intranet gescannt hat, vom adressbereich meiner inet adresse ganz zu schweigen, da braucht das proggi was im 1.beitrag verlinkt ist maximal 10sek.

ansonsten schöner aufbau, aber das von hand eingeben der adressen is ganz schön nervig und warum ist der bereich bis 255?
"Never touch a running system administrator !"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 16 von 17   « Erste     6141516 17   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:05 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 by Thomas Breitkreuz