pschilling
Erfahrenes Mitglied
Hi zusammen,
gibt es eine Möglichkeit programmtechnisch eine Netzwerkfreigabe zu erzeugen?
In meinem Programm werden zur Laufzeit mehrere Verzeichnisse mit CreateDirectory(...) erzeugt und ich möchte diesen Verzeichnissen automatisch eine Netzwerkfreigabe verpassen, so dass der Kunde dies nicht händisch machen muss.
Ist dies überhaupt möglich? Finde nichts entsprechendes im Inet.
Vielen Dank im vorraus,
Peter
Hi nochmal,
das Problem hat sich erledigt. Habe die feine Methode NetShareAdd gefunden, mit der ich genau das erledigen kann.
Für alle, die es auch machen wollen hier mein Code:
Ihr inkludiert Lm.h und linkt gegen die netapi32.lib.
Vorsicht bei Win95,98,ME!! Lest dazu die Remarks in der MSDN!!
Ciao,
Peter
gibt es eine Möglichkeit programmtechnisch eine Netzwerkfreigabe zu erzeugen?
In meinem Programm werden zur Laufzeit mehrere Verzeichnisse mit CreateDirectory(...) erzeugt und ich möchte diesen Verzeichnissen automatisch eine Netzwerkfreigabe verpassen, so dass der Kunde dies nicht händisch machen muss.
Ist dies überhaupt möglich? Finde nichts entsprechendes im Inet.
Vielen Dank im vorraus,
Peter
Hi nochmal,
das Problem hat sich erledigt. Habe die feine Methode NetShareAdd gefunden, mit der ich genau das erledigen kann.
Für alle, die es auch machen wollen hier mein Code:
Code:
if( CreateDirectory(tourDir, NULL) ) {
SHARE_INFO_2 si2;
DWORD parm_err = 0;
si2.shi2_netname = realTourNr.AllocSysString();
si2.shi2_type = STYPE_DISKTREE; // disk drive
CString remark;
remark.Format("Freigabe für Tour %s", realTourNr);
si2.shi2_remark = remark.AllocSysString();
si2.shi2_permissions = 0;
si2.shi2_max_uses = 4;
si2.shi2_current_uses = 0;
si2.shi2_path = tourDir.AllocSysString();
si2.shi2_passwd = NULL; // no password
NET_API_STATUS res = NetShareAdd(NULL,2,(LPBYTE)&si2, &parm_err );
if( res != 0 ) {
// Fehlerbehandlung
}
}
Ihr inkludiert Lm.h und linkt gegen die netapi32.lib.
Vorsicht bei Win95,98,ME!! Lest dazu die Remarks in der MSDN!!
Ciao,
Peter
Zuletzt bearbeitet: