Announcement

Collapse
No announcement yet.

Hostname ermitteln

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hostname ermitteln

    Wie krieg ich den HostNamen im Erfahrung ?

    GetEnvironmentVariable("HostName"....); und gethostname(....); liefern mir nur leere Strings.

    Die Eingabe hostname in der DOS-Box funktioniert.

    Danke - Günther
    Günther

  • #2
    Hallo,

    es gibt hier 2 Alternativen:
    <pre>
    uses WinSock;

    procedure TForm1.Button1Click(Sender: TObject);
    var
    aWSAData : TWSAData;
    szHostName : array[0..99] of Char;
    dwSize : DWORD;
    begin
    FillChar(szHostName, SizeOf(szHostName), #0);
    // Variante 1
    WSAStartup(MakeLong(1, 1), aWSAData);
    try
    gethostname(szHostName, SizeOf(szHostName));
    ShowMessage(szHostName);
    finally
    WSACleanup;
    end;
    // Variante 2
    dwSize := 99;
    GetComputerName(szHostName, dwSize);
    ShowMessage(szHostName);
    end;
    </pre&gt

    Comment


    • #3
      Mit GetComputerName geht es auch nicht. In der Hilfe finde ich dazu:

      The GetComputerName function retrieves the computer name of the current system. This name is established at system startup, <b>when it is initialized from the registry.</b>

      Muß also nicht immer definiert sein, bei uns ist dies dann wohl der Fall.

      Die Variante mit WinSock probier ich aus, wenn ich ein wenig mehr Zeit habe.

      Danke
      Günther

      Comment


      • #4
        Mit WinSock funktioniert es:
        <pre>
        #include <winsock.h>
        WSADATA WSAData;
        char PcName[22];
        WSAStartup(MAKEWORD(1, 1),(LPWSADATA)&WSAData);
        gethostname(PcName,20);
        WSACleanup();
        </pre&gt
        Günther

        Comment


        • #5
          Ich suche das gleiche nur in Vb .Net

          Wie kann ich denn in VB .Net den Hostname herausfinden
          http://www.mschnuerer.de

          Comment

          Working...
          X