![]() |
Feststellen, ob Programm über Netzwerk gestartet wurde?
Naamd,
ich bin ein absoluter Netzwerk-Laie, deshalb hab ich ne vermutlich dumme Frage. Das Programm liegt auf Rechner X im Netzwerk. Ich sitze vor dem Rechner Y - wie kann man, möglichst simpel, feststellen, ob die *exe auf einem anderen Rechner im Nezz oder auf dem lokalen Rechner gestartet wurde? Danke |
Re: Feststellen, ob Programm über Netzwerk gestartet wurde?
Also über paramstr(0) kann man den Dateinamen der Exe herrausfinden.
Du musst also nur herrausfinden ob der Rechnername im paramstr(0) vorkommt. mfg, Björn |
Re: Feststellen, ob Programm über Netzwerk gestartet wurde?
Zitat:
Aber da der PC-Name eh bloß am Anfang stehen kann, kann man das eingrenzen. (Oder steht bei einer Domäne noch die Domäne davor? Ich kenne mich da nicht so aus) Flare |
Re: Feststellen, ob Programm über Netzwerk gestartet wurde?
Noch dümmer, wenn jemand eine Netzwerk-Freigabe gemappt hat ;) ...
Prüfe einfach, ob am Anfang von ParamStr(0) "\\" vorkommt (auch ein derartiger Zugriff auf eine lokale Freigabe ist ein Netzzugriff!) und im anderen Fall musst Du prüfen, ob das Laufwerk ein Netzlaufwerk ist (s. Code-Library). |
Re: Feststellen, ob Programm über Netzwerk gestartet wurde?
Kleine Ergänzung:
Delphi-Quellcode:
:hi:
function IsNetzwerk: boolean;
var Pfad: AnsiString; begin Result:= false; Pfad:= ExtractFilePath(ParamStr(0)); if length(Pfad)> 1 then begin Result:= boolean(Pos('\\', Pfad)); if not Result then Result:= GetDriveType(PChar(Pfad))= DRIVE_REMOTE; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 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