如何在程式中自動連線網路磁碟機? |
答題得分者是:t27
|
HANGTEN
一般會員 發表:12 回覆:15 積分:5 註冊:2002-07-20 發送簡訊給我 |
|
t27
中階會員 發表:34 回覆:95 積分:90 註冊:2002-06-19 發送簡訊給我 |
procedure TFrmMapSrv.Button1Click(Sender: TObject);
var
i:integer;
j,txtLogin:string;
MyList:TStringList;
NR: TNETRESOURCE;
dwResult: DWORD;
lpBuffer: PChar;//lpstr;
nSize: DWord;
begin
nSize := 255;
GetMem(lpBuffer, nSize);
GetUserName(lpBuffer,nSize);
txtLogin := lpBuffer; NR.dwScope := RESOURCE_GLOBALNET ;
NR.dwType := RESOURCETYPE_DISK ;
NR.dwDisplayType := RESOURCEDISPLAYTYPE_SHARE ;
NR.dwUsage := RESOURCEUSAGE_CONNECTABLE ; NR.lpRemoteName := pchar(txtRemoteName.Text) ;
NR.lpLocalName := pchar(txtLocalName.Text) ;
MyList := TStringList.Create;
MyList.Add('\\' txtRemoteName.Text '\fold1');
MyList.Add('\\' txtRemoteName.Text '\fold2');
try
// 中斷網路磁碟機
//WNetCancelConnection(pchar('I:'), true);
//WNetCancelConnection(pchar(txtLocalName.Text), true);
for i := 0 to MyList.count-1 do
begin
j := Chr(73 i) ':';
WNetCancelConnection(pchar(j), true);
end;
except
MessageDlg('Connection Error.', mtError, [mbOk], 0);
end; try
// 連線網路磁碟機
//WNetAddConnection(pchar(txtRemoteName.Text), pchar(txtPassword.Text), pchar(txtLocalName.Text));
//dwResult := WNetAddConnection2(NR, pchar(txtPassword.Text), pchar(txtLogin.Text), CONNECT_UPDATE_PROFILE) ;
for i := 0 to MyList.count-1 do
begin
j := Chr(73 i) ':';
NR.lpRemoteName := pchar(MyList[i]) ;
NR.lpLocalName := pchar(j) ;
//WNetAddConnection(pchar(MyList[i]), pchar(''), pchar(j));
WNetAddConnection2(NR, pchar(''), pchar(txtLogin), CONNECT_UPDATE_PROFILE) ;
end;
except
MessageDlg('Connection Error.', mtError, [mbOk], 0);
end; MyList.Free;
ShowMessage('Connected OK!');
Close;
end; procedure TFrmMapSrv.FormCreate(Sender: TObject);
begin
txtRemoteName.Text := 'FS-W2K';
txtLocalName.Text := 'I';
end; end.
|
HANGTEN
一般會員 發表:12 回覆:15 積分:5 註冊:2002-07-20 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |