Delphi-PRAXiS
Seite 7 von 7   « Erste     567   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Alle PC-Namen eines Netzwerkes erhalten (https://www.delphipraxis.net/6213-alle-pc-namen-eines-netzwerkes-erhalten.html)

Assarbad 10. Okt 2003 16:37

Re: Alle PC-Namen eines Netzwerkes erhalten
 
Zitat:

Vielleicht mache ich ja einen Denkfehler, aber wenn ich prüfe, welche NTUSER.DAT gesperrt ist, unter Berücksichtigung von Spezialaccounts (z.B. SMS-Service Account für Installationen), dann müsste ich eigentlich den Profilpfad des Users haben, der gerade angemeldet ist (oder eben auch keiner).
Du irrst dich tatsächlich. Abgesehen von den Spezialaccounts, die zumal garnicht detektiert werden können (man kann nämlich einen beliebigen Account für solche Zwecke einspannen), können auch mehrere Benutzer interaktiv oder eben auch einfach nur eingeloggt sein.

Ein Beispiel wäre RunAs, was ab Windows 2000 im System dabei ist, aber auch schon bei früheren Versionen funktioniert ... oder auch die schnelle Benutzerumschaltung von XP (und Nachfolgern). Ich als Admin logge mich zB manchmal auf einem anderen Rechner ein, um dort etwas zu machen (das ist dann - insofern nicht in einer Domain - auch ein lokaler Logon). Das alles kannst du nicht unterscheiden, da man solche Programme wie RunAs nämlich anweisen kann das komplette Profil (i.e. NTUSER.DAT oder NTUSER.MAN) zu laden ... also Pustekuchen auch mit dieser Methode. Finde dich mal ganz ehrlich damit ab, es geht nicht ;)

alleinherrscher 8. Aug 2006 20:53

Re: Alle PC-Namen eines Netzwerkes erhalten
 
Sorry, dass ich ein SOOOOOOOOOO altes Thema nochmal aufgreife, aber hat jemand diese Routine schonmal unter Delphi 2005 getestet die spuckt bei mir genau das hier aus: NIX!

Jemand evtl ne Idee worans liegen kann?

LG Alleinherrscher

TKC 8. Aug 2006 22:46

Re: Alle PC-Namen eines Netzwerkes erhalten
 
Korrigiere mal den Quellcode an folgender Stelle


Delphi-Quellcode:
  PIP_MASK_STRING = ^PIP_MASK_STRING; // IPTYPES.H
nach

Delphi-Quellcode:
  PIP_MASK_STRING = ^IP_MASK_STRING; // IPTYPES.H

stockholm 26. Nov 2008 12:03

Re: Alle PC-Namen eines Netzwerkes erhalten
 
Ich entschuldige mich ebenfalls, wobei es nunmal hier rein passt ;)

Der genannte Fehler ist zwar i.O. bis 2009, aber ab hier gibt es ja diesen Unicode Kram..

Fehler tritt hier auf:

Delphi-Quellcode:
        dwSubnetMask   := htonl(inet_addr(PChar(aAddresses[i].sSubnetMask)));
        dwIPAddressFrom := htonl(inet_addr(PChar(aAddresses[i].sIpAddress)));
[DCC Fehler] MAIN.pas(214): E2010 Inkompatible Typen: 'Char' und 'AnsiChar'

und:

[DCC Warnung] MAIN.pas(224): W1057 Implizite String-Umwandlung von 'AnsiChar' zu 'string'

Edit:
Gelöst...

pChar => pAnsiChar

Dennoch danke.


Trotzdem zeigt das Programm unter XP SP2 / Delphi 2009 Professional keine IPs des eigenen Rechners an, es kann also nix gestartet werden...

Johannes.Leupold 17. Mai 2011 20:25

AW: Alle PC-Namen eines Netzwerkes erhalten
 
Danke sehr, der Code funktioniert bei mir super!

Das hat mir sehr weitergeholfen. :spin2:


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 Uhr.
Seite 7 von 7   « Erste     567   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz