Befehl:net share ?

Hi,
ich versuche , einen Ordner auf einem meinem Computer freizugeben um Datein hereinzukopieren.
Via Dos-Eingabeaufforderung geht das so : "net share HALLO=c:\Hallo"

Ich hab dann mal versucht das mit

#include <iostream>
#include <stdlib.h>

using namespace std;
int main(int argc, char *argv[])

{
system ("net share HALLO=c:\Hallo");
system("PAUSE");
return 0;
}


in ein Programm einzubauen aber das klappt nicht.
Ich bekomme zwar keine Fehlermeldung aber der Ordner wird trotzdem nicht freigegeben.
Es wurde lediglich ein Fenster geöffnet , mit welchem ich immer wieder ( in einer Endlosschleife) system("PAUSE") bestätigen konnte.
Mhhh eigendlich dürfte das ja von der Syntax her stimmen( was es ja auch tut) aber welchses Problem gibt es mit der Semantik? *überfordert*

MfG


PS:-WinXPHome
-DevC++
 
Zuletzt bearbeitet:
So ich hab noch mal nen bischen rumprobiert und habe herrausgefunden ,
dass der wenn ich netshare zusammenschreibe sagt , dass er den befehl nicht kennt!
also kann das ja anders schon gar nicht mal so falsch sein.

Das gleiche problem tritt auch bei "net view" auf.

Ah ja und der Befehl "net share" , der ja alle freigegebenen Ordner anzeigt , auch nicht.

Und ich habe das Programm etwas verändert:

{
int a=1;
cout<<a;
system ("net share");
return 0;
}

Jetzt gibt das programm X-Mal ( 3 Reihen und ne Halbe in der Konsole - ich habs einfach nicht gezählt) 1 aus ... das würde dann ja heißen ne schleife ?! Aber ich habe ja gar keine schleife geschrieben *verwirrt_überfordert*

MfG
 
Zuletzt bearbeitet:
Setz dich bitte mit den Network Management Funktionen der Windows API auseinander, da hast du mehr Möglichkeiten und mehr Kontrollen. Die Funktion die du brauchst ist: NetShareAdd().
Schau dir das mal in der MSDN an.

Daniel
 
Zurück