Entwickler-Ecke

Freeware Projekte - GetIP


O'rallY - Di 17.06.03 16:29
Titel: GetIP
Habe einfach mal aus Lust ein kleine IP-Guck-Programm geschrieben. Ja, gibts wie Sand am Meer, aber egal.
Ein Ziel war, dass das Programm möglichst klein wird. Ungepackt ist es nun 23 KB groß, was mich auch ein wenig stolz macht *bescheidenguck*(ist mein erstes NonVCL Programm :mrgreen:).
Ok, Spaß beiseite: Das Programm liest von http://checkip.dyndns.org die aktuelle Inet-IP aus. Funktioniert also auch mit einem Router. Außerdem liest es vom ausführenden Rechener die lokale IP aus.
Das Programm nistet sich im TNA ein. Tooltip und Popupmenü zeigt IPs an. Durch klick auf eine IP (im Popupmenü) wird sie in die Zwischenablage kopiert.
Programm checkt standardmäßig, aber optinal, alle 5 min die IPs.

http://www.mokasin.de/projects/GetIP/GetIP.zip (13 KB)


matze - Di 17.06.03 18:41

sehr gut.

das logo im tna ist nett


Moritz M. - Fr 20.06.03 12:49

Erinnter mich am mein sHoW_IP :lol:


O'rallY - Fr 20.06.03 15:26

Korrekt! :wink:
Ich hoffe du nimmst mir das nicht übel.
Übrigens geht der Download-Link von SHoW_IP nicht mehr...


Moritz M. - Fr 20.06.03 16:01

Warum sollte ich es dir übel nehmen?


GruppeCN - Di 15.07.03 17:24

Wie kriegt ihr die Datei vom Server?


Leathl - Di 15.07.03 18:07

---


O'rallY - Mi 16.07.03 16:19

@Leathl Dann kann mein Programm aus irgendeinem Grund nicht ins Internet oder die Seite http://checkip.dyndns.org/ ist nicht erreichbar, da es von dieser die Daten bezieht.

@GruppeCN Alles über API. Hier meine Funktion:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
function LoadURL(URL: String): String;
var
  IOpen, IURL: HINTERNET;
  Read: Cardinal;
  Msg: array[0..4096of Char;
begin
  Result := '';
  try
    IOpen := InternetOpen('GetIP', INTERNET_OPEN_TYPE_PRECONFIG, '''',
        INTERNET_FLAG_NEED_FILE);
    if IOpen <> nil then
    try
      IURL := InternetOpenUrl(IOpen, PAnsiChar(URL), nil0,
          INTERNET_FLAG_NO_UI or INTERNET_FLAG_PRAGMA_NOCACHE or INTERNET_FLAG_RELOAD, 0);
      if IURL <> nil then
      try
        repeat
          FillChar(Msg, SizeOf(Msg), 0);
          if InternetReadFile(IURL, @Msg[0], Pred(SizeOf(Msg)), Read) then
            Result := Result + Msg
          else
            Break;
        until Read = 0
      finally
        InternetCloseHandle(IURL);
      end
    finally
      InternetCloseHandle(IOpen);
    end;
  except
  end;
end;


GruppeCN - Mi 16.07.03 16:56

Und was zurück gegeben wird, ist der Quellcode?


O'rallY - Do 17.07.03 15:01

Ja, der vollständige Quellcode. Kannst es ja auch einfach mal ausprobieren :?.


GruppeCN - Do 17.07.03 20:22

Okay, danke für deinen Code.