Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
공유는 어떻게.....
안녕하세요 또 질문을 하게 되네요.
LAN에서 NT4.0을 쓰고있는데 공유를 만드는 방법 좀 가르켜 주세요...
(윈도우에서가 아니라 델파이에서 공유를 만드는 방법을 예기 하는 겁니다.)
아시는 분은 제발 좀알려주세요.....초보라서 상세하게.....
좋은 밤 되세요...
3
COMMENTS
별지기
•
1999.06.29 01:42
다른사람이 만든 프로그램을 실행시켜 보았습니다.
그런데.....메뉴 화면에서 특졍 메뉴를 선택했을경우
폼이 화면에 실행되어야하는데 그게 되지를 않습니다.
메뉴폼의 해당 유닛의 소스를 자세히 살펴보앗는데..
RunAppWinName,RunAppClassName,RunAppHandle,LockWindowUpdate
의 못보던 변수(?)가 있었습니다.
프로그램 실행장면을 좀더 자세히 설명하자면
메뉴항목중 아래에 서브메뉴가 있는경우는 실행이 되지만
서브메뉴가 없는경우는 폼이 실행이 되지를 않습니다..
도와주십시요..
0
0
삭제
수정
댓글
김영대
•
1999.04.19 18:49
장철진 wrote:
> 안녕하세요 또 질문을 하게 되네요.
> LAN에서 NT4.0을 쓰고있는데 공유를 만드는 방법 좀 가르켜 주세요...
> (윈도우에서가 아니라 델파이에서 공유를 만드는 방법을 예기 하는 겁니다.)
> 아시는 분은 제발 좀알려주세요.....초보라서 상세하게.....
> 좋은 밤 되세요...
>
>
안녕하세요 김영대입니다
아래 예제는 Windows 95/98 에서만 정확히 동작합니다
NT에서는 SVRAPI.DLL이 아닌 다른 DLL 이 사용되지만
NetShareAdd(), NetShareDel() API의 사용함에 있어서 공유정보
구조체만 다를뿐 사용법은 동일합니다
// 아래 예제는 Windows NT/Windows 2000 는 지원하지 않습니다
// 다른 플랫폼은 MSDN 사이트를 참고하세요
// http://msdn.microsoft.com/library/sdkdoc/network/ntlmapi_18bz.htm
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;
type
// Win95/98 에서는 share info는 0,1,2,50 structure 만 사용가능
Share_Info50 = packed record
shi50_netname : array[0..12] of Char; {13}
shi50_type : Byte;
shi50_flags : Word;
shi50_remark : PChar;
shi50_path : PChar;
shi50_rw_password : array[0..8] of Char; {9}
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:ZZZ', // 공유할 폴더 (전부 대문자로 지정)
'ZZZ', // 공유이름
'공유예제', // 설명
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, 'ZZZ');
if rt = 0 then
ShowMessage('폴더의 공유를 해제하였습니다')
else
ShowMessage('폴더의 공유를 해제할 수 없습니다. 에러번호('+IntToStr(rt)+')');
end;
end.
0
0
삭제
수정
댓글
구창민
•
1999.04.18 02:26
장철진 wrote:
> 안녕하세요 또 질문을 하게 되네요.
> LAN에서 NT4.0을 쓰고있는데 공유를 만드는 방법 좀 가르켜 주세요...
> (윈도우에서가 아니라 델파이에서 공유를 만드는 방법을 예기 하는 겁니다.)
> 아시는 분은 제발 좀알려주세요.....초보라서 상세하게.....
> 좋은 밤 되세요...
>
>
장철진님 안녕하세요?
NT에서는 테스트 해보지 못했습니다.
아래글은 김영대님이 올리신 글인데
한번 테스트 해보세요. 되면 결과도 올려주시구요.
그럼 .. 도움되시기 바래요.
네트워크 드라이브 연결/해제
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;
var
Form1: TForm1;
implementation
{$R *.DFM}
// 네트워크 드라이브 연결
procedure TForm1.Button1Click(Sender: TObject);
var
lpszNetPath,
lpszPassword,
lpszLocalName: array[0..50] of Char;
rt: DWORD;
begin
StrPCopy(lpszPassword, '1234'); // 네트워크 드라이브(공유폴더)의 비밀번호
StrPCopy(lpszNetPath, 'Unify5insa'); // 네트워크 드라이브+공유폴더
StrPCopy(lpszLocalName, 'F:'); // 로컬 드라이브명
rt := WNetAddConnection(lpszNetPath, lpszPassword, lpszLocalName);
if rt = 7 then
begin
ShowMessage('네트워크 드라이브를 연결할 수 없습니다. 비밀번호를 확인하세요');
end
else if rt <> WN_SUCCESS then
begin
MessageDlg('네트워크 드라이브를 연결할 수 없습니다'+
', Return Code: ' + (IntToStr(rt)) ,
mtInformation, [mbOk], 0);
end
else
begin
ShowMessage('네트워크 드라이브가 설정되었습니다');
end;
end;
// 네트워크 드라이브 연결 해제
procedure TForm1.Button2Click(Sender: TObject);
var
lpszLocalName: array[0..50] of Char;
rt: DWORD;
begin
StrPCopy(lpszLocalName, 'F:'); // 로컬 드라이브명
rt := WNetCancelConnection(lpszLocalName, True);
if rt <> WN_SUCCESS then
begin
MessageDlg('네트워크 드라이브의 연결을 해제할 수 없습니다'+
', Return Code: ' + (IntToStr(rt)) ,
mtInformation, [mbOk], 0);
end
else
begin
ShowMessage('네트워크 드라이브의 연결이 해제되었습니다');
end;
end;
end.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
오세종
•
1999.06.29 08:35
7
COMMENTS
/
0
LIKES
ORACLE+TDBGRID=>ScrollBar는 바보?
김현국
•
1999.04.19 17:15
안치봉
•
1999.04.19 19:28
김현국
•
1999.04.19 20:19
안치봉
•
1999.04.19 20:59
김현국
•
1999.04.19 22:16
이정욱
•
1999.04.19 23:03
전철호
•
1999.04.20 03:52
정재홍
•
1999.06.29 05:42
1
COMMENTS
/
0
LIKES
[재질문]퀵레포트를 dll로...
글쎄요.
•
1999.06.29 06:23
음.. 먼저 궁금증을 풀어 주어서 감사합니다. 4.0에서 디시죤 큐브가 그런 기능을 추가했군요...쩝 하지...
김현국
•
1999.04.19 17:15
8
COMMENTS
/
0
LIKES
WebBrowser Object의 Scroll Bar를 움직이려면
성기정
•
1999.06.29 05:12
안치봉
•
1999.04.19 19:28
모승열
•
1999.06.29 11:19
김현국
•
1999.04.19 20:19
안치봉
•
1999.04.19 20:59
김현국
•
1999.04.19 22:16
이정욱
•
1999.04.19 23:03
• • •
성기정
•
1999.06.29 04:26
1
COMMENTS
/
0
LIKES
★★dbgrid의 한 column에 콤보박스가 나오려면...★★
모승열
•
1999.06.29 11:21
성기정 께서 말씀하시기를... > 안녕하세요.. > > 요즘 델파이 때문에 엄청 고생하고 있는 직장인 입니...
고혜정
1999.06.29 04:25
0
COMMENTS
/
0
LIKES
인스톨쉴드에 대해서
이호선
1999.06.29 04:18
0
COMMENTS
/
0
LIKES
ftp서버에 화일을 올리려면..
김현국
•
1999.04.19 17:15
6
COMMENTS
/
0
LIKES
WebBrowser Object의 Scroll Bar를 움직이려면
안치봉
•
1999.04.19 19:28
김현국
•
1999.04.19 20:19
안치봉
•
1999.04.19 20:59
김현국
•
1999.04.19 22:16
이정욱
•
1999.04.19 23:03
전철호
•
1999.04.20 03:52
강동욱
•
1999.06.29 03:47
1
COMMENTS
/
0
LIKES
테이블 과 뷰 구별법?
조민경
•
1999.06.29 18:28
강동욱 께서 말씀하시기를... > 안녕하세요.. > 제가 지금 무지 급하거든요.. > 다름이 아니라.. > 오...
김장섭
•
1999.04.19 19:25
1
COMMENTS
/
0
LIKES
treeview정보를 파일로 저장...
안치봉
•
1999.04.19 19:41
김장섭 wrote: > 안녕하세요 > 트리뷰를 사용하고 있습니다. 트리뷰로 메뉴를 만드는데요(doubleClick하...
김민오
1999.06.29 03:05
0
COMMENTS
/
0
LIKES
(질문) 파라독스테이블 저장시 에러--도와주세요
델
•
1999.06.29 02:55
2
COMMENTS
/
0
LIKES
sybase에서 blob컬럼 control
한태진
•
1999.04.19 19:38
안녕하세요 오랜간만에 오니 좀더 홈페이지가 멋지게 변화되었군요.. 창민님의 노력에 감사할 따름입니다...
구창민
•
1999.04.20 00:12
한태진 wrote: > 안녕하세요 > 오랜간만에 오니 좀더 홈페이지가 멋지게 변화되었군요.. > 창민님의 노...
김준선
•
1999.06.29 02:34
1
COMMENTS
/
0
LIKES
테이블을 생성할 수 없어요...
글쎄요
•
1999.06.29 03:26
김준선 께서 말씀하시기를... > > 책에 있는 대로 'File|New|Table...을 찾으려고 하는데 이것이 없어...
김재휘
1999.06.29 02:29
0
COMMENTS
/
0
LIKES
아래질문.. VOT KEY가 아니라 PIVOT KEY.. 오타
김재휘
•
1999.06.29 02:25
7
COMMENTS
/
0
LIKES
"at end of table" error와 VOT Key가 뭔가요?
김현국
•
1999.04.19 17:15
안치봉
•
1999.04.19 19:28
김현국
•
1999.04.19 20:19
안치봉
•
1999.04.19 20:59
김현국
•
1999.04.19 22:16
이정욱
•
1999.04.19 23:03
전철호
•
1999.04.20 03:52
김장섭
•
1999.04.19 19:25
1
COMMENTS
/
0
LIKES
treeview정보를 파일로 저장...
안치봉
•
1999.04.19 19:41
김장섭 wrote: > 안녕하세요 > 트리뷰를 사용하고 있습니다. 트리뷰로 메뉴를 만드는데요(doubleClick하...
정재홍
•
1999.06.29 02:06
2
COMMENTS
/
0
LIKES
decision cube!
정재홍
•
1999.06.29 05:37
정재홍 께서 말씀하시기를... > decision cube의 사용법... > > 디자인 화면에서 컨트롤에서 우측버튼...
글쎄요
•
1999.06.29 03:44
정재홍 께서 말씀하시기를... > decision cube의 사용법... > > 디자인 화면에서 컨트롤에서 우측버튼...
장철진
•
1999.04.17 08:55
3
COMMENTS
/
0
LIKES
공유는 어떻게.....
안녕하세요 또 질문을 하게 되네요. LAN에서 NT4.0을 쓰고있는데 공유를 만드는 방법 좀 가르켜 주세요... (윈도우에서가 아니라 델파이에서 공유를 만드는 방법을 예기 하는 겁니다.) 아시는 분은 제발 좀알려주세요.....초보라서 상세하...
별지기
•
1999.06.29 01:42
다른사람이 만든 프로그램을 실행시켜 보았습니다. 그런데.....메뉴 화면에서 특졍 메뉴를 선택했을경우 ...
김영대
•
1999.04.19 18:49
장철진 wrote: > 안녕하세요 또 질문을 하게 되네요. > LAN에서 NT4.0을 쓰고있는데 공유를 만드는 방법 ...
구창민
•
1999.04.18 02:26
장철진 wrote: > 안녕하세요 또 질문을 하게 되네요. > LAN에서 NT4.0을 쓰고있는데 공유를 만드는 방법 ...
김귀연
1999.06.29 01:36
0
COMMENTS
/
0
LIKES
DBCtrlGrid에서 Enter키를 사용하여 이동 방법
양윤호
1999.06.29 01:00
0
COMMENTS
/
0
LIKES
Page Control의 탭에 색깔을 넣으려면...
김현국
•
1999.04.19 17:15
6
COMMENTS
/
0
LIKES
WebBrowser Object의 Scroll Bar를 움직이려면
안치봉
•
1999.04.19 19:28
김현국
•
1999.04.19 20:19
안치봉
•
1999.04.19 20:59
김현국
•
1999.04.19 22:16
이정욱
•
1999.04.19 23:03
전철호
•
1999.04.20 03:52
장철진
1999/04/17 08:55
Views
210
Likes
0
Comments
3
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
그런데.....메뉴 화면에서 특졍 메뉴를 선택했을경우
폼이 화면에 실행되어야하는데 그게 되지를 않습니다.
메뉴폼의 해당 유닛의 소스를 자세히 살펴보앗는데..
RunAppWinName,RunAppClassName,RunAppHandle,LockWindowUpdate
의 못보던 변수(?)가 있었습니다.
프로그램 실행장면을 좀더 자세히 설명하자면
메뉴항목중 아래에 서브메뉴가 있는경우는 실행이 되지만
서브메뉴가 없는경우는 폼이 실행이 되지를 않습니다..
도와주십시요..