怎样写程序将另一台电脑上的共享文件夹映射成本地硬盘? 急! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 WnetAddConnection2用这个api可以,具体用法看帮助吧 unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Mask;type TfrmMain = class(TForm) edtResource: TEdit; edtLocal: TEdit; StaticText1: TStaticText; StaticText2: TStaticText; Panel1: TPanel; Bevel1: TBevel; edtUser: TEdit; StaticText3: TStaticText; StaticText4: TStaticText; edtPass: TMaskEdit; Panel2: TPanel; Bevel2: TBevel; btnMap: TButton; btnCancelMap: TButton; btnExit: TButton; procedure btnMapClick(Sender: TObject); procedure btnCancelMapClick(Sender: TObject); procedure btnExitClick(Sender: TObject); private { Private declarations } public { Public declarations } end;var frmMain: TfrmMain;implementation{$R *.DFM}procedure TfrmMain.btnCancelMapClick(Sender: TObject);begin if MessageDlg('确实要断开么?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then //不管是否有文件打开,断开网络驱动器: if WNetCancelConnection2(pchar(edtLocal.text), CONNECT_UPDATE_PROFILE, True)=NO_ERROR then //映射断开成功 showmessage(edtResource.text+'映射断开!') else showmessage('断开映射失败');end;procedure TfrmMain.btnMapClick(Sender : TObject);var NetSource : TNetResource;begin with NetSource do begin dwType := RESOURCETYPE_DISK; lpLocalName :=Pchar(edtLocal.text); // 将远程资源映射到此驱动器 lpRemoteName :=pchar(edtResource.text); // 远程网络资源 lpProvider := ''; // 必须赋值,如为空则使用lpRemoteName的值 end; if WnetAddConnection2(NetSource, pchar(edtPass.text), pchar(edtUser.text), CONNECT_UPDATE_PROFILE)=NO_ERROR //用户名为Guest,口令为Password,下次登录时重新连接,此时在Windows资源管理器中可看到网络驱动器: then //映射成功 showmessage(edtResource.text+'成功映射成'+edtLocal.text) else showmessage('映射失败!');end;procedure TfrmMain.btnExitClick(Sender: TObject);begin frmMain.Close;end;end. 图像打印的问题 如何注销 注册的AppServer query或adoquery的使用 用RadioGroup动态添加字段的值,由于各个字段长度不一样,输出的时候很杂乱,怎么样使得整齐点 一个非常easy的问题,在线等待,解决了马上给分! 以下代码在作为application正常,但在webservice出错!为什么? 打印问题 急!!!请教高手,一个有关ODBC的问题!! 为什么老出错误,请大哥指教! 如何将ip地址转换成integer? 有关时间的运算 Delphi图像处理问
用这个api可以,具体用法看帮助吧
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Mask;type
TfrmMain = class(TForm)
edtResource: TEdit;
edtLocal: TEdit;
StaticText1: TStaticText;
StaticText2: TStaticText;
Panel1: TPanel;
Bevel1: TBevel;
edtUser: TEdit;
StaticText3: TStaticText;
StaticText4: TStaticText;
edtPass: TMaskEdit;
Panel2: TPanel;
Bevel2: TBevel;
btnMap: TButton;
btnCancelMap: TButton;
btnExit: TButton;
procedure btnMapClick(Sender: TObject);
procedure btnCancelMapClick(Sender: TObject);
procedure btnExitClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
frmMain: TfrmMain;implementation{$R *.DFM}
procedure TfrmMain.btnCancelMapClick(Sender: TObject);
begin
if MessageDlg('确实要断开么?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
//不管是否有文件打开,断开网络驱动器:
if WNetCancelConnection2(pchar(edtLocal.text), CONNECT_UPDATE_PROFILE, True)=NO_ERROR then
//映射断开成功
showmessage(edtResource.text+'映射断开!')
else
showmessage('断开映射失败');
end;
procedure TfrmMain.btnMapClick(Sender : TObject);
var
NetSource : TNetResource;
begin
with NetSource do
begin
dwType := RESOURCETYPE_DISK;
lpLocalName :=Pchar(edtLocal.text);
// 将远程资源映射到此驱动器
lpRemoteName :=pchar(edtResource.text);
// 远程网络资源
lpProvider := '';
// 必须赋值,如为空则使用lpRemoteName的值
end;
if WnetAddConnection2(NetSource, pchar(edtPass.text), pchar(edtUser.text), CONNECT_UPDATE_PROFILE)=NO_ERROR
//用户名为Guest,口令为Password,下次登录时重新连接,此时在Windows资源管理器中可看到网络驱动器:
then
//映射成功
showmessage(edtResource.text+'成功映射成'+edtLocal.text)
else
showmessage('映射失败!');
end;
procedure TfrmMain.btnExitClick(Sender: TObject);
begin
frmMain.Close;
end;end.