Q&A

  • 네트워크 드라이브..
델파이상에서 다른 컴퓨터의 공유디렉토리를 네트워크 드라이브로 잡는 방법이 있나요?

델파이는 4.0을 사용하고 있어요...

1  COMMENTS
  • Profile
    구창민 1999.06.10 20:04
    최현호 께서 말씀하시기를...

    > 델파이상에서 다른 컴퓨터의 공유디렉토리를 네트워크 드라이브로 잡는 방법이 있나요?

    > 델파이는 4.0을 사용하고 있어요...



    최현호님 안녕하세요?

    김영대님의 프로그램으로 네트워크 드라이브 연결/해제 하는 팁을

    올려드립니다.

    보시고 도움 되시길..



    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.