Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
자신의 Directory를 공유...
지금 제가 하려는 것은 자신의 PC 특정 Directory를 공유를 할려고 합니다
그렇게 되면 Lan으로 연결된 다른 PC에서 제가 공유를 걸어 놓은 File을 복사해 갈수 있겠지요
물론 네트워 드라이브는 잡을 필요도 없구요
혹시 자신의 Directory를 공유하는 방법(마치 탐색기에서 Directory를 선택하고 마우스 오른쪽 버튼을 눌러 공유항목을 선택하는 것 처럼...)
아시는 분은 알려 주시면 감사 하겠습니다
부탁드립니다
2
COMMENTS
손용석
•
2001.02.24 00:00
비가 오네여~~ %^.^%
부족하나마 몇자 적어보겠습니다...^^
디렉토리 공유는 검색해보시면 많은 자료들이 나오는데..
암튼 제가 테스트해 본 소스를 통째로 올려 보겠습당~~!!
저도 어디서 찾아서 했던겁니다..~~!!
첨에 찾았던거는 95에서만 되고 98/ME에서는 안되더군요~~!!
그래서 Delphi Help보고 API를 바꾸니까 잘되군요~!
참고:
NT는 잘 모르겠고 2000에서는 DLL을 찾을수 없다는 에러 메세지가...
95/98/ME 에서는 잘 돌아가더군요...
탐색기에서는 공유되었는데 나타나지 않는 경우도 있습니다..
확인 할려면 시작-실행 '자기컴명공유명'을 치면 올라올겁니다.
아래소스 참고
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
// Win95/98 에서 share info는 0,1,2,50 structure 만 사용가능
// Windows NT에서 share info는 0,1,2,501,502,1005 structure 만 사용가능
Share_Info50 = packed record
shi50_netname : array[0..12] of Char;
shi50_type : Byte;
shi50_flags : Word;
shi50_remark : PChar;
shi50_path : PChar;
shi50_rw_password : array[0..8] of Char;
shi50_ro_password : array[0..8] of Char;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
function NetShareAdd(ServerName: PChar; ShareLevel: SmallInt; Buffer: Pointer;
Size: Word): Integer; stdcall; external 'SVRAPI.DLL';
function NetShareDel(ServerName: PChar; NetName: PChar;
Reserved: Word): Integer; stdcall; external 'SVRAPI.DLL';
function ShareResource(ServerName: PChar; FilePath: PChar; NetName: PChar; Remark: PChar;
ShareType: Byte; Flags: Word; RWPass: PChar; ROPass: PChar): Integer;
var
MyShare: Share_Info50;
PMyShare: ^Share_Info50;
begin
strLcopy(MyShare.shi50_netname, NetName, 13);
MyShare.shi50_type := ShareType;
MyShare.shi50_flags := Flags;
MyShare.shi50_remark := Remark;
MyShare.shi50_path := FilePath;
strLcopy(MyShare.shi50_rw_password, RWPass, 9);
strLcopy(MyShare.shi50_ro_password, ROPass, 9);
PMyShare := @MyShare;
Result := NetShareAdd(ServerName, 50, PMyShare, SizeOf(MyShare));
end;
function DeleteShare(ServerName: PChar; NetName: PChar): Integer;
begin
Result := NetShareDel(ServerName,NetName, 0);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
rt: Integer;
begin
rt := ShareResource(nil, // 컴퓨터 이름 (nil 은 Local Machine을 의미합니다)
'C:WINDOWS', // 공유할 폴더 (전부 대문자로 지정)
'TEST$', // 공유이름
'공유예제', // 설명
0, // 0=디렉토리 공유, 1=프린터 공유
// 256 or 1= 읽기 전용, 256 or 2=읽기/쓰기, 256 or 1 or 2=암호에 따라 다름
256 or 1 or 2,
'1111', // 읽기/쓰기 암호
'2222'); // 읽기 전용 암호
if rt = 0 then ShowMessage('폴더가 공유되었습니다')
else ShowMessage('폴더를 공유할 수 없습니다. 에러번호('+IntToStr(rt)+')');
end;
procedure TForm1.Button2Click(Sender: TObject);
var
rt: Integer;
begin
rt := DeleteShare(nil, 'DB$');
if rt = 0 then ShowMessage('폴더의 공유를 해제하였습니다')
else ShowMessage('폴더의 공유를 해제할 수 없습니다. 에러번호('+IntToStr(rt)+')');
end;
end.
정준길 wrote:
> 지금 제가 하려는 것은 자신의 PC 특정 Directory를 공유를 할려고 합니다
> 그렇게 되면 Lan으로 연결된 다른 PC에서 제가 공유를 걸어 놓은 File을 복사해 갈수 있겠지요
> 물론 네트워 드라이브는 잡을 필요도 없구요
> 혹시 자신의 Directory를 공유하는 방법(마치 탐색기에서 Directory를 선택하고 마우스 오른쪽 버튼을 눌러 공유항목을 선택하는 것 처럼...)
> 아시는 분은 알려 주시면 감사 하겠습니다
> 부탁드립니다
0
0
삭제
수정
댓글
정준길
•
2001.02.24 00:42
정말 고맙습니다
아주 많은 도움이 되었습니다
감사합니다
손용석 wrote:
> 비가 오네여~~ %^.^%
>
> 부족하나마 몇자 적어보겠습니다...^^
>
> 디렉토리 공유는 검색해보시면 많은 자료들이 나오는데..
> 암튼 제가 테스트해 본 소스를 통째로 올려 보겠습당~~!!
> 저도 어디서 찾아서 했던겁니다..~~!!
> 첨에 찾았던거는 95에서만 되고 98/ME에서는 안되더군요~~!!
> 그래서 Delphi Help보고 API를 바꾸니까 잘되군요~!
>
> 참고:
> NT는 잘 모르겠고 2000에서는 DLL을 찾을수 없다는 에러 메세지가...
> 95/98/ME 에서는 잘 돌아가더군요...
> 탐색기에서는 공유되었는데 나타나지 않는 경우도 있습니다..
> 확인 할려면 시작-실행 '자기컴명공유명'을 치면 올라올겁니다.
>
> 아래소스 참고
>
> unit Unit1;
>
> interface
>
> uses
> Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
> StdCtrls;
>
> type
> TForm1 = class(TForm)
> Button1: TButton;
> Button2: TButton;
> procedure Button1Click(Sender: TObject);
> procedure Button2Click(Sender: TObject);
> private
> { Private declarations }
> public
> { Public declarations }
> end;
>
> // Win95/98 에서 share info는 0,1,2,50 structure 만 사용가능
> // Windows NT에서 share info는 0,1,2,501,502,1005 structure 만 사용가능
> Share_Info50 = packed record
> shi50_netname : array[0..12] of Char;
> shi50_type : Byte;
> shi50_flags : Word;
> shi50_remark : PChar;
> shi50_path : PChar;
> shi50_rw_password : array[0..8] of Char;
> shi50_ro_password : array[0..8] of Char;
> end;
>
> var
> Form1: TForm1;
>
> implementation
>
> {$R *.DFM}
>
> function NetShareAdd(ServerName: PChar; ShareLevel: SmallInt; Buffer: Pointer;
> Size: Word): Integer; stdcall; external 'SVRAPI.DLL';
>
> function NetShareDel(ServerName: PChar; NetName: PChar;
> Reserved: Word): Integer; stdcall; external 'SVRAPI.DLL';
>
> function ShareResource(ServerName: PChar; FilePath: PChar; NetName: PChar; Remark: PChar;
> ShareType: Byte; Flags: Word; RWPass: PChar; ROPass: PChar): Integer;
> var
> MyShare: Share_Info50;
> PMyShare: ^Share_Info50;
> begin
> strLcopy(MyShare.shi50_netname, NetName, 13);
> MyShare.shi50_type := ShareType;
> MyShare.shi50_flags := Flags;
> MyShare.shi50_remark := Remark;
> MyShare.shi50_path := FilePath;
> strLcopy(MyShare.shi50_rw_password, RWPass, 9);
> strLcopy(MyShare.shi50_ro_password, ROPass, 9);
> PMyShare := @MyShare;
>
> Result := NetShareAdd(ServerName, 50, PMyShare, SizeOf(MyShare));
> end;
>
> function DeleteShare(ServerName: PChar; NetName: PChar): Integer;
> begin
> Result := NetShareDel(ServerName,NetName, 0);
> end;
>
> procedure TForm1.Button1Click(Sender: TObject);
> var
> rt: Integer;
> begin
> rt := ShareResource(nil, // 컴퓨터 이름 (nil 은 Local Machine을 의미합니다)
> 'C:WINDOWS', // 공유할 폴더 (전부 대문자로 지정)
> 'TEST$', // 공유이름
> '공유예제', // 설명
> 0, // 0=디렉토리 공유, 1=프린터 공유
> // 256 or 1= 읽기 전용, 256 or 2=읽기/쓰기, 256 or 1 or 2=암호에 따라 다름
> 256 or 1 or 2,
> '1111', // 읽기/쓰기 암호
> '2222'); // 읽기 전용 암호
>
> if rt = 0 then ShowMessage('폴더가 공유되었습니다')
> else ShowMessage('폴더를 공유할 수 없습니다. 에러번호('+IntToStr(rt)+')');
> end;
>
> procedure TForm1.Button2Click(Sender: TObject);
> var
> rt: Integer;
> begin
> rt := DeleteShare(nil, 'DB$');
>
> if rt = 0 then ShowMessage('폴더의 공유를 해제하였습니다')
> else ShowMessage('폴더의 공유를 해제할 수 없습니다. 에러번호('+IntToStr(rt)+')');
> end;
>
> end.
>
>
>
> 정준길 wrote:
> > 지금 제가 하려는 것은 자신의 PC 특정 Directory를 공유를 할려고 합니다
> > 그렇게 되면 Lan으로 연결된 다른 PC에서 제가 공유를 걸어 놓은 File을 복사해 갈수 있겠지요
> > 물론 네트워 드라이브는 잡을 필요도 없구요
> > 혹시 자신의 Directory를 공유하는 방법(마치 탐색기에서 Directory를 선택하고 마우스 오른쪽 버튼을 눌러 공유항목을 선택하는 것 처럼...)
> > 아시는 분은 알려 주시면 감사 하겠습니다
> > 부탁드립니다
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
델초보
•
2001.02.24 01:13
1
COMMENTS
/
0
LIKES
동적으로 생성한 컴포넌트 소멸시키는 방법..
최용일
•
2001.02.24 01:24
안녕하세요. 최용일입니다. 객체를 Free한다해도 참조변수에는 nil이 할당되지 않습니다. 이전에 생성되...
델초
•
2001.02.24 00:56
6
COMMENTS
/
0
LIKES
질문제목과 분류를 꼭 해주시길 부탁드립니다.
최용일
•
2001.02.24 01:05
안녕하세요. 최용일입니다. M의 데이타형에 따라서 다라지겠죠... 만일 M이 PChar형이라면 M := '나...
델초
•
2001.02.24 01:57
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,...
최용일
•
2001.02.24 02:19
안녕하세요. 최용일입니다. GlobalAlloc함수가 리턴하는것은 힙에 할당된 메모리포인터(메모리 핸들)입...
델초
•
2001.02.24 02:31
우선 감사하다는 말부터 드리구여.. 용일님 같은 분덜 땜시 저 같은 초보가 잼나게 공부를 할수 있네여.. ...
델초
•
2001.02.24 01:45
우선 답변에 감사하구여... m의 형은 global형입니다.... 이 글로발형에다 얼케 넣어야 할지 머르겠네여....
최용일
•
2001.02.24 01:50
무슨 말씀이신지???? global이라는 데이터타입이 있나요??? 첨들어보는건데요.. 사용자 정의 데이터 ...
zerodog
•
2001.02.24 00:50
2
COMMENTS
/
0
LIKES
퀵레포트가 이상해여....
아폴론
•
2001.02.24 01:25
zerodog wrote: > FormP23 이라는 퀵레포트를 만들고여... 퀵레포트를 더블클릭했을때 환경을 설정하는 >...
손님
•
2001.02.25 12:04
퀵리포트 내의 테이블이나 쿼리의 active 가 true 인지... 확인 해보세요. 아폴론 wrote: > zerod...
델걸음마
•
2001.02.24 00:46
2
COMMENTS
/
0
LIKES
팝업메뉴에서 단축키 정의를 하고 싶지 않아요
Click
•
2001.02.24 00:53
델걸음마 wrote: > 안녕하세요. > 항상 코딩하다가 막히면 찾는 곳이 되었네요. ^^;; > 고수님들의 답...
델걸음마
•
2001.02.24 01:21
님 감사합니다. 고수되서 답변 달 수 있는 그날을 위하여.... ^^
쭈야
•
2001.02.24 00:41
3
COMMENTS
/
0
LIKES
sto_proc에 대한 에러...
손용석
•
2001.02.24 00:54
부족하나마 몇자 적어 보겠습니다...!! #^.^# 요즘은 질문이 너무 간단해서 뭘 질문하는지 이해하기가 ...
쭈야
•
2001.02.24 00:59
디비는 오라클사용하고 있구여 당그니 스토어프로시저 생성시 sql에서 테스트하여 프로시저를 생성 했답니...
손용석
•
2001.02.24 01:10
허걱 넘 지송지송~~! 제가 넘 게을러서 키보드치기가 싫어서 그만~~ ㅡㅡ; 스프 : Stored Procedure ...
초보중짱
•
2001.02.24 00:42
7
COMMENTS
/
0
LIKES
텍스트 파일 읽기 질문입니다
최용일
•
2001.02.24 01:01
초보중짱
•
2001.02.24 01:51
최용일
•
2001.02.24 01:58
초보중짱
•
2001.02.24 03:20
최용일
•
2001.02.24 04:34
초보중짱
•
2001.02.24 06:17
최용일
•
2001.02.24 08:08
손용석
2001.02.24 00:35
0
COMMENTS
/
0
LIKES
Re: 두개의 DB를 연결하는방법좀 부탁드립니다.
똘망울
2001.02.24 00:30
0
COMMENTS
/
0
LIKES
Re: 두개의 DB를 연결하는방법좀 부탁드립니다.
삼식이
•
2001.02.24 00:25
1
COMMENTS
/
0
LIKES
차일드윈도우생성이 안되요....
최용일
•
2001.02.24 00:42
안녕하세요. 최용일입니다. MDI메인폼은 Application의 메인폼만이 될수 있습니다. 보니까 로그인화면을...
사람인
2001.02.24 00:02
0
COMMENTS
/
0
LIKES
글을 올렸었는데 답이 없어서 다시올립니다.
초짜의 델파이
2001.02.23 23:55
0
COMMENTS
/
0
LIKES
감사합니다.^^
궁금한이
•
2001.02.23 23:42
1
COMMENTS
/
0
LIKES
dpl, dcu
손용석
•
2001.02.24 00:15
부족하나마 ... 몇자 *^.^* 제가 델4는 안써봐서... ㅡㅡ; dpl은 델3고 델5는 BPL이지용 ... ^^ 메...
왕초보
2001.02.23 23:06
0
COMMENTS
/
0
LIKES
Watcom DB의 DBA 패스워드...
초짜의 델파이
•
2001.02.23 23:00
2
COMMENTS
/
0
LIKES
질문입니다.
왕초보
•
2001.02.23 23:11
초짜의 델파이 wrote: > 델파이를 공부하고 있는 사람입니다. > 제가 Round()라는 함수에 대해서 알고 싶...
초짜의 델파이
•
2001.02.23 23:55
왕초보 wrote: > 초짜의 델파이 wrote: > > 델파이를 공부하고 있는 사람입니다. > > 제가 Round()라는 ...
정준길
•
2001.02.23 22:25
2
COMMENTS
/
0
LIKES
자신의 Directory를 공유...
지금 제가 하려는 것은 자신의 PC 특정 Directory를 공유를 할려고 합니다 그렇게 되면 Lan으로 연결된 다른 PC에서 제가 공유를 걸어 놓은 File을 복사해 갈수 있겠지요 물론 네트워 드라이브는 잡을 필요도 없구요 혹시 자신의 Director...
손용석
•
2001.02.24 00:00
비가 오네여~~ %^.^% 부족하나마 몇자 적어보겠습니다...^^ 디렉토리 공유는 검색해보시면 많은 자...
정준길
•
2001.02.24 00:42
정말 고맙습니다 아주 많은 도움이 되었습니다 감사합니다 손용석 wrote: > 비가 오네여~~ %^.^% > ...
김재규
•
2001.02.23 22:01
1
COMMENTS
/
0
LIKES
정말 급임다...record lock 관련 답변 없음 죽슴다.
아폴론
•
2001.02.23 23:05
김재규 wrote: > 안녕하셔요.. > 심각한 문제가 발생해서 문의 드립니다. 이전에 이런 질문이 있었는데...
김명일
2001.02.23 21:38
0
COMMENTS
/
0
LIKES
RX_RichEdit 나 BK_Richedit(양병규님꺼) 에서의 문제..
초보
2001.02.23 21:16
0
COMMENTS
/
0
LIKES
정말 어려운 문제 하나!
장민우
•
2001.02.23 21:15
1
COMMENTS
/
0
LIKES
일반적인 윈도우 폼이 너무 질려서 말인데요~~~
yytr
•
2001.02.24 00:08
장민우 wrote: > DELPHI INSTALL 할 때 초기화면 같은 경우 일반 윈도우 폼이 아니고 쪼금 특별한 경우 ...
급해여!
•
2001.02.23 21:01
1
COMMENTS
/
0
LIKES
[급구] DbgridEH 델5.0 어케 구해여?
아직도 못 구했다면..
•
2001.04.10 17:52
급해여! wrote: > 나와있는 글들을 보고 김영대님 자료실에서 받아서 설치했는데 > 안되네요... > Dmitr...
정준길
2001/02/23 22:25
Views
264
Likes
0
Comments
2
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
부족하나마 몇자 적어보겠습니다...^^
디렉토리 공유는 검색해보시면 많은 자료들이 나오는데..
암튼 제가 테스트해 본 소스를 통째로 올려 보겠습당~~!!
저도 어디서 찾아서 했던겁니다..~~!!
첨에 찾았던거는 95에서만 되고 98/ME에서는 안되더군요~~!!
그래서 Delphi Help보고 API를 바꾸니까 잘되군요~!
참고:
NT는 잘 모르겠고 2000에서는 DLL을 찾을수 없다는 에러 메세지가...
95/98/ME 에서는 잘 돌아가더군요...
탐색기에서는 공유되었는데 나타나지 않는 경우도 있습니다..
확인 할려면 시작-실행 '자기컴명공유명'을 치면 올라올겁니다.
아래소스 참고
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
// Win95/98 에서 share info는 0,1,2,50 structure 만 사용가능
// Windows NT에서 share info는 0,1,2,501,502,1005 structure 만 사용가능
Share_Info50 = packed record
shi50_netname : array[0..12] of Char;
shi50_type : Byte;
shi50_flags : Word;
shi50_remark : PChar;
shi50_path : PChar;
shi50_rw_password : array[0..8] of Char;
shi50_ro_password : array[0..8] of Char;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
function NetShareAdd(ServerName: PChar; ShareLevel: SmallInt; Buffer: Pointer;
Size: Word): Integer; stdcall; external 'SVRAPI.DLL';
function NetShareDel(ServerName: PChar; NetName: PChar;
Reserved: Word): Integer; stdcall; external 'SVRAPI.DLL';
function ShareResource(ServerName: PChar; FilePath: PChar; NetName: PChar; Remark: PChar;
ShareType: Byte; Flags: Word; RWPass: PChar; ROPass: PChar): Integer;
var
MyShare: Share_Info50;
PMyShare: ^Share_Info50;
begin
strLcopy(MyShare.shi50_netname, NetName, 13);
MyShare.shi50_type := ShareType;
MyShare.shi50_flags := Flags;
MyShare.shi50_remark := Remark;
MyShare.shi50_path := FilePath;
strLcopy(MyShare.shi50_rw_password, RWPass, 9);
strLcopy(MyShare.shi50_ro_password, ROPass, 9);
PMyShare := @MyShare;
Result := NetShareAdd(ServerName, 50, PMyShare, SizeOf(MyShare));
end;
function DeleteShare(ServerName: PChar; NetName: PChar): Integer;
begin
Result := NetShareDel(ServerName,NetName, 0);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
rt: Integer;
begin
rt := ShareResource(nil, // 컴퓨터 이름 (nil 은 Local Machine을 의미합니다)
'C:WINDOWS', // 공유할 폴더 (전부 대문자로 지정)
'TEST$', // 공유이름
'공유예제', // 설명
0, // 0=디렉토리 공유, 1=프린터 공유
// 256 or 1= 읽기 전용, 256 or 2=읽기/쓰기, 256 or 1 or 2=암호에 따라 다름
256 or 1 or 2,
'1111', // 읽기/쓰기 암호
'2222'); // 읽기 전용 암호
if rt = 0 then ShowMessage('폴더가 공유되었습니다')
else ShowMessage('폴더를 공유할 수 없습니다. 에러번호('+IntToStr(rt)+')');
end;
procedure TForm1.Button2Click(Sender: TObject);
var
rt: Integer;
begin
rt := DeleteShare(nil, 'DB$');
if rt = 0 then ShowMessage('폴더의 공유를 해제하였습니다')
else ShowMessage('폴더의 공유를 해제할 수 없습니다. 에러번호('+IntToStr(rt)+')');
end;
end.
정준길 wrote:
> 지금 제가 하려는 것은 자신의 PC 특정 Directory를 공유를 할려고 합니다
> 그렇게 되면 Lan으로 연결된 다른 PC에서 제가 공유를 걸어 놓은 File을 복사해 갈수 있겠지요
> 물론 네트워 드라이브는 잡을 필요도 없구요
> 혹시 자신의 Directory를 공유하는 방법(마치 탐색기에서 Directory를 선택하고 마우스 오른쪽 버튼을 눌러 공유항목을 선택하는 것 처럼...)
> 아시는 분은 알려 주시면 감사 하겠습니다
> 부탁드립니다