NetshareAdd 함수는 잘모릅니다만
그냥 참고하라고...
COMMAND라인에서 net share 명령으로 공유폴더 설정 및 해제가 가능합니다.
그것을 그대로 프로그램으로 구현하면 될듯합니다.
Command라인 명령을 C++Builder에서 system() 함수로서 간단히 호출이 가능합니다.
아래는 간단한 샘플..
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//공유설정
//C:\\Temp 폴더를 Temp2라는 이름으로 공유
//최대사용자수는 8user
system("net share temp2=c:\\temp /users:8");
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
//공유폴더 Temp2를 공유 해제
system("net share temp2 /delete");
}
위 샘플처럼 system함수를 윈도우 Application에서 호출하면 커맨드 창이 잠깐 떴다가 사라질수 있습니다.
(cmd.exe에서 윈도우 Applicaiton을 실행한경우 기존 command창에 결과가 나타남)
위 Command창이 나타났다가 사라지는 문제는
std in/out 을 re-direct ... 하여서 해결할수도 있을것같구요(해보진 않았음)
그럼..
김형기 님이 쓰신 글 :
: 안녕하세요...프로그램으로 네트워크 폴더 공유를 하고 싶은데
:
: NetshareAdd함수가 있어서 썼더니 xp에서는 제대로 적용이 안되네요...
:
: MSDN웹 사이트 가니 서버급만 공유 가능 한것 같더라구요...
:
: 일단 공유된 것 처럼 보이긴 하는데 공유 폴더 모양에 공유 설정도 보면 맞게 되어있고
:
: 근데 정작 접속을 하면 본인 pc에서 설정하고 본인 pc로 접근 하려 해도 안되더라구요...로컬 접근 말고
:
: 네트워크 접근이요...\\192.168.1.120 <-요런식으로요...
:
: 같은 방법으로 2003에서 해보니 잘 되었습니다...
:
:
:
:
:
: NetshareAdd말고 다른 방법으로 공유 걸 수는 없나요?? 아니면 제가 함수를 잘 못 쓴건가요?
:
: 고수님들 해결 부탁드려요...ㅠㅠ
:
:
:
: ========================================================================================
:
:
:
: 라고 글을 올린후 답변이 없어서 또 테스트를 해봤는데... XP 홈에디션에서는 잘 되네요....
:
: 그런데 왜 XP 프로에서만 안될까요?...ㅠㅠ 정말 답답하네요...