Autor Beitrag
Hendrik
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324



BeitragVerfasst: Mi 02.01.08 00:21 
Hey!

Bitte steinigt mich, wenn es diese eigentlich einfache Frage schonmal gab, aber ich hab jetzt in der letzten halben Stunde gesucht und nix gefunden :?

Wie kann ich denn den Netzwerkpfad eines freigegebenen Ordners herausfinden. Genauer gesagt des Ordners in dem meine Exe-Datei liegt?
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 02.01.08 00:34 
Moin!

user profile iconHendrik hat folgendes geschrieben:
Wie kann ich denn den Netzwerkpfad eines freigegebenen Ordners herausfinden. Genauer gesagt des Ordners in dem meine Exe-Datei liegt?
:gruebel: Den Namen einer Freigabe legst du doch selbst fest, wieso solltest du also Probleme haben, den ermitteln zu müssen?! :nixweiss:

Allgemein wird Freigaben der Hostname (besser) oder auch die IP-Adresse (notfalls) vorangestellt, z.B. so:
ausblenden Quelltext
1:
2:
\\server\freigabe\Meine.exe
\\192.168.0.1\share\Meine.exe
Das kannst du genauso verwenden, wie
ausblenden Quelltext
1:
C:\MeinFreigegebenerOrdner\Meine.exe					

(vorausgesetzt, der aktuelle Benutzer hat Rechte, um aus dem Share zu lesen)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Hendrik Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324



BeitragVerfasst: Mi 02.01.08 23:54 
Jaja das ist schon klar! Es geht mir eben drum, dass das Programm das selbst ermittelt und der Benutzer es nicht selbst eingeben muss. Es handelt sich dabei um eine Serveranwendung, die diesen Pfad über TCP an die Clients schickt und diese dann auf Dateien in dem Pfad zugreifen...
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 02.01.08 23:59 
Moin!

Du möchtest also praktisch die Ausgabe von net share auswerten, richtig? Dann stellt sich immernoch die Frage, wie dein Programm mit den (unbekannten) Shares von anderen Leuten umgehen soll - woran willst du denn die "richtige" Freigabe erkennen? :gruebel:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Hendrik Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324



BeitragVerfasst: Do 03.01.08 15:27 
Hi!

Dann mache ich es nochmal ausführlicher:
Auf Rechner 1 (Server) liegt die Exe um die es geht und einige weitere definierte Dateien, die mit dem Setup dort abgelegt werden. Rechner 2 (Client) verbindet sich über TCP in einem LAN mit Rechner 1, welcher über TCP dann den entsprechenden Netzwerkpfad schickt. Nun greift Rechner 2 auf die definierten Dateien zu. Dass der User zunächst den Ordner freigeben muss ist klar. Bisher habe ich es so gemacht, dass der Ordner auf dem Server manuell eingegeben werden muss, würde es aber gerne verbesseren, damit es automatisch geschiet.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 03.01.08 15:42 
Moin!

user profile iconHendrik hat folgendes geschrieben:
Auf Rechner 1 (Server) liegt die Exe um die es geht und einige weitere definierte Dateien, die mit dem Setup dort abgelegt werden. Rechner 2 (Client) verbindet sich über TCP in einem LAN mit Rechner 1, welcher über TCP dann den entsprechenden Netzwerkpfad schickt.
Warum schickst du nicht gleich alle Daten (Dateien) über diese TCP-Verbindung, das ist doch eigentlich die logische Lösung für das Problem. :idea: ;)

user profile iconHendrik hat folgendes geschrieben:
Dass der User zunächst den Ordner freigeben muss ist klar. Bisher habe ich es so gemacht, dass der Ordner auf dem Server manuell eingegeben werden muss, würde es aber gerne verbesseren, damit es automatisch geschiet.
user profile iconNarses hat folgendes geschrieben:
Dann stellt sich immernoch die Frage, wie dein Programm mit den (unbekannten) Shares von anderen Leuten umgehen soll - woran willst du denn die "richtige" Freigabe erkennen?
Vielleicht war das ja wirklich missverständlich, also nochmal ausführlich: :?

Wenn der Benutzer deiner Software den Share einrichtet, woran will dein Programm denn erkennen, welchen er eingerichtet hat?! :nixweiss:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Hendrik Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324



BeitragVerfasst: Do 03.01.08 15:46 
user profile iconNarses hat folgendes geschrieben:
Wenn der Benutzer deiner Software den Share einrichtet, woran will dein Programm denn erkennen, welchen er eingerichtet hat?! :nixweiss:


Dazu wollte ich ja wissen, ob es geht! Wenn das nichts wird, dann geht es eben nicht...

Und: Ein Senden der Dateien wäre mehr als unpraktisch, da diese u.U. mehrmals pro Sekunde geändert werden, ein Zugriff aber durchaus nur einmal pro Stunde erfolgt.

Moderiert von user profile iconNarses: Leerzeilen im Zitat entfernt
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Do 03.01.08 15:48 
Dann verschick die Daten doch nur auf Nachfrage (=wenn sie benötigt werden).

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 03.01.08 15:51 
Moin!

user profile iconHendrik hat folgendes geschrieben:
Dazu wollte ich ja wissen, ob es geht! Wenn das nichts wird, dann geht es eben nicht...
Es geht bei deinem Problem doch gar nicht um die Möglichkeiten, die Shares zu ermitteln (siehe net share, da geht´s ja auch), sondern darum, dass du ein nicht lösbares, logisches Problem hast: du weißt in der Software nicht, welchen Share der Benutzer angelegt hat, kannst ihn also auch nicht automatisch ermitteln... :nixweiss: :idea: ;)

user profile iconHendrik hat folgendes geschrieben:
Und: Ein Senden der Dateien wäre mehr als unpraktisch, da diese u.U. mehrmals pro Sekunde geändert werden, ein Zugriff aber durchaus nur einmal pro Stunde erfolgt.
Du brauchst ja auch nur bei einem Login die Daten (Dateien) zu senden. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Hendrik Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324



BeitragVerfasst: Do 03.01.08 21:02 
Dann sehen wir das mal als beantwortet an...
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 03.01.08 22:34 
user profile iconNarses hat folgendes geschrieben:
user profile iconHendrik hat folgendes geschrieben:
Dazu wollte ich ja wissen, ob es geht! Wenn das nichts wird, dann geht es eben nicht...
Es geht bei deinem Problem doch gar nicht um die Möglichkeiten, die Shares zu ermitteln (siehe net share, da geht´s ja auch), sondern darum, dass du ein nicht lösbares, logisches Problem hast: du weißt in der Software nicht, welchen Share der Benutzer angelegt hat, kannst ihn also auch nicht automatisch ermitteln... :nixweiss: :idea: ;)
Das ist aber auch gar nicht wichtig ;-). Es reicht ja, wenn ich eine Freigabe finde, die auf das entsprechende Verzeichnis zeigt. Es dürfte nicht so einfach möglich sein, dass zwei Freigaben auf das gewünschte Verzeichnis (hier das der ausführbaren Datei des Programms) verweisen, aber selbst wenn es so wäre, reicht es ja eine davon zu kennen.
(So habe ich die Frage jedenfalls verstanden.)

Nun kannst du die Liste der Freigaben zum Beispiel per Aufruf von net share und Auswertung der Ausgabe oder über die LAN Manager API direkt bekommen. Die passende API Funktion müsste WNetEnumResource sein. Ich kann das ggf. auch noch einmal genauer schreiben.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 03.01.08 22:54 
Moin!

user profile iconjaenicke hat folgendes geschrieben:
Es reicht ja, wenn ich eine Freigabe finde, die auf das entsprechende Verzeichnis zeigt. Es dürfte nicht so einfach möglich sein, dass zwei Freigaben auf das gewünschte Verzeichnis (hier das der ausführbaren Datei des Programms) verweisen
Ja, das könnte gehen. Was allerdings zwingend voraussetzt, dass der Anwendung der lokale Pfad der Freigabe implizit bekannt ist. :zwinker: Allgemein gesehen ist das eine logische Sackgasse. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 03.01.08 22:59 
user profile iconNarses hat folgendes geschrieben:
Was allerdings zwingend voraussetzt, dass der Anwendung der lokale Pfad der Freigabe implizit bekannt ist. :zwinker: Allgemein gesehen ist das eine logische Sackgasse. ;)
user profile iconHendrik hat folgendes geschrieben:
Wie kann ich denn den Netzwerkpfad eines freigegebenen Ordners herausfinden. Genauer gesagt des Ordners in dem meine Exe-Datei liegt?
;-)
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 03.01.08 23:06 
Moin!

Was wiederum implizit voraussetzt, dass es sich um die Exe des Delphi-Projekts handelt. :idea: Es könnte ja auch eine andere Exe sein... :D

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.