如何模拟输入用户名、密码来访问网络邻居

Delphi实现内网到内网的直接连接 本程序为一个真正点对点通讯示范程序:) 实现内网到内网的直接连接(QQ用的技术) 使用Delphi实现。在网上未看到类似的程序,特此发布提供喜欢的朋友参考。 通过UDP来实现穿透NAT的点对点通讯。 >>原定 程序设置一个共享目录里边所有文件都可供别人多点下载(类似BT) 独立服务端 负责消息中转、用户登陆 客户端从服务端获取用户列表 然后直连各个用户 以实现 聊天 语音 视屏 文件传输等可能的一切服务 >>>结果 由于工作太忙,文件传输、语音 视频等服务一直没去实现。 希望有朋友在此基础上完善后能发布了给大家学习:) 立即下载
 
 
基 本 原 理

----
在 Windows 环 境 下, 应 用 程 序 使 用 Windows 网 络 函 数( WNet ) 来 实 现 网 络 功 能
 
而 不 用 关 心 网 络 的 供 应 商 及 具 体 实 现, 因 为 WNet 函 数 是 独 立 于 网 络 的。
----Wnet
函 数 主 要 有: WnetAddConnection , WnetAddConnection2 , WnetAddConnection3 ,
WnetCancelConnection2
等。 本 文 主 要 用 WnetAddConnection2 , WnetCancelConnection2 函 数。

----WNetAddConnection2
在 Windows.pas 中 的 函 数 原 型 如 下:

----function WNetAddConnection2(var lpNetResource: TNetResource;lpPassword, lpUserName:

----PChar; dwFlags: DWORD): DWORD; stdcall;

----
为 调 用 此 函 数, 必 须 填 写 lpNetResouce 结 构, 此 结 构 的 定 义 为:

typedef  struct _NETRESOUCE{
    DWORD dwScope;  
    DWORD dwType;  
    DWORD dwDisplayType;
    DWORD dwUsage;
    LPTSTR lpLocalName;
    LPTSR  lpRemoteName;
    LPTSr  lpProvider;
} NETRESOURCE;

----
这 里 使 用 dwType,lpLocalName,lpRemoteName,lpProvider 几 个 参 数。 其 含 义 如 下:

----dwType :
用 于 指 定 网 络 的 资 源 类 型, 有 以 下 RESOURCETYPE_ANY( 任 何 资 源 ),
RESOURCETYPE_DISK(
磁 盘 资 源 ) , RESOURCETYPE_PRINT ( 打 印 机 资 源)。

----lpLocalName :
指 定 本 地 设 备。

----lpRemoteName :
指 定 远 程 网 络 名。

----lpProvider :
指 定 提 供 网 络 资 源 的 供 应 商。 如 为 空, 则 表 示 供 应 商 未 知。

----WNetAddConnection2
函 数 的 lpPassword 为 远 程 资 源 的 口 令。

----lpUserName
为 远 程 资 源 的 用 户 名。 dwFlags 标 志 位 用 于 指 定 登 录 时 是 否
重 新 连 接( 0 时 表 示 不 重 新 连 接, CCONNECT_UPDATE_PROFILE 表 示 登 录 时 重 新 连 接)。

----WnetCancelConnection2
在 Windows .pas 中 的 函 数 原 型 如 下:

----function WNetCancelConnection2(lpName: PChar;
    dwFlags: DWORD; fForce: BOOL):DWORD; stdcall;

----lpName :
要 断 开 的 远 程 网 络 资 源 或 本 地 重 定 向 驱 动 器。

----dwFlags :
含 义 同 上。

----fForce : True
表 示 不 管 是 否 有 文 件 打 开, 强 制 性 断 开 网 络 驱 动 器;
False
表 示 如 有 文 件 打 开 则 函 数 运 行 失 败。

实 例

----
在 Delphi 的 File 菜 单 下 选 择 New Application , 在 Form1 上 放 置 一 个 Button ,
在 Button1 的 Click 事 件 中 键 入 如 下 代 码:
procedure TForm1.Button1Click(Sender : TObject);
var
  NetSource : TNetResource;
begin
  with NetSource do
  begin
    dwType := RESOURCETYPE_ANY;
    lpLocalName := ‘X:';
    //
将 远 程 资 源 映 射 到 此 驱 动 器
    lpRemoteName := ‘//hqServer/sys';
    //
远 程 网 络 资 源
    lpProvider := ‘';  
    //
必 须 赋 值 ,
     
如 为 空 则 使 用 lpRemoteName 的 值。
  end;
  WnetAddConnection2(NetSource,‘Password',‘Guest',
   //
用 户 名 为 Guest , 口 令 为 Password
  CONNECT_UPDATE_PROFILE);
   //
下 次 登 录 时 重 新 连 接
  //
此 时 在 Windows 资 源 管 理 器 中
   
可 看 到 网 络 驱 动 器 X :
  if MessageDlg(‘Are you sure to disconnect Drive ?',
 
    mtConfirmation, [mbYes, mbNo], 0) = mrYes
  then      
    //
不 管 是 否 有 文 件 打 开,
     
断 开 网 络 驱 动 器 X :
 WNetCancelConnection2( ‘X:', CONNECT_UPDATE_
PROFILE, True);  
end;
end;
============================================================================================
 
 
 
 
localname:本地磁盘号 如:Y: Z:
remotename: 共享路径 如 ://server/share
username : 用户名
password: 密码
function connectserver(localname: string; remotename: string; username: string; password: string): boolean;
var
 NetSource: TNetResource; Errinfo: longint;
begin
 with NetSource do begin
    dwType := RESOURCETYPE_ANY; //RESOURCETYPE_DISK
    lpLocalName := pchar(localname);
         // 将远程资源映射到此驱动器
    lpRemoteName := pchar(remotename);
        // 远程网络资 源
    lpProvider := '';
        // 必须赋值,如为空则使用lpRemoteName 的值。
 end;
 ErrInfo := WnetAddConnection2(NetSource, pchar(password), pchar(username), 0);
 result := (ErrInfo = NO_ERROR);
end;
 
 
 
问题: 【求助】局域网中如何通过网络共享实现文件传输 ? ( 积分: 50, 回复: 7, 阅读: 146 )
分类: 数据库-C/S型 ( 版主: qince, luyear )
来自: 秋伊水, 时间: 2003-4-23 21:34:00, ID : 1796728
[ 显示: 小字体 | 大字体 ]
局域网服务器上面有共享目录 share 用户 aaa 可以通过网络共享在 share 中添加文件 , 如何
用 delphi 实现向服务器 share 目录上传文件 !

假定 aaa 用户的帐户和密码都是 aaa  
 
来自: 秋伊水, 时间: 2003-4-23 22:00:00, ID : 1796785
uses shellapi;
copyfile(pchar('newfile.txt'),pchar('//computername/direction/targer.txt'),false);

这个好像可以我刚才试过了 ! 不过如果网络共享要登陆怎么写啊 ????  
 
来自: stuwei, 时间: 2003-4-23 22:03:00, ID : 1796790
参考 WNetAddConnection 函数 
 
来自: 秋伊水, 时间: 2003-4-23 22:06:00, ID : 1796794
能具体举个例子吗 ? 谢谢了 !!!  
 
来自: 秋伊水, 时间: 2003-4-24 10:48:00, ID : 1797735
ding  
 
来自: shiningplus, 时间: 2003-4-24 12:35:00, ID : 1798311
    WinExec(
      PChar(Format('net use//%s/ipc$ "%s" /user: "%s" ',
      [Edtserver.Text,
      EdtPassword.Text,
        EdtUserName.Text])),
        0
      );  
 
 
 
 
 
 
 
 
COPY文件的问题
问题: COPY 文件的问题 ( 积分: 100, 回复: 11, 阅读: 229 )
分类: Windows API ( 版主: amo, cAkk )
来自: 折翅飞翔, 时间: 2003-2-11 12:21:00, ID : 1615211
[ 显示: 小字体 | 大字体 ]
我想用 DELPHI 做一个 COPY 文件的程序,程序要求从指定的机器中 COPY 某几个文件到另一台机器中,程序运行在一台有双网卡的机器上,利用网卡 A 到 A 机器 COPY 文件,再利用本机网卡 B , COPY 到 B 机器中,每次间隔由手工制定,程序可以自动计算出每分钟 COPY 的速度。
>
请教的问题: 1 、怎样实现 COPY 功能?
>           2
、计算每分钟 COPY 的速度怎样实现?
>           3
、如果某个网卡连接的机器出现网络堵塞( 1 分钟不能 COPY 成功),能及时报警,请问怎样判断是那块网卡出现的堵塞? 
 
来自: 张无忌, 时间: 2003-2-11 12:23:00, ID : 1615214
1,2 很容易用 CopyFileEx()
3,
就麻烦了,知道哪个网卡出问题太麻烦,如果真要知道,那就自己
用 SOCKET 写个简单的程序,就可以解决以上 3 个问题 
 
来自: lcl_003, 时间: 2003-2-11 12:27:00, ID : 1615220
前几天刚好写了个互相考文件的东西
 WNetAddConnection('//192.168.0.60/chan','','192.168.0.20');
 copyfile(PChar(filepath+'chan/'+sendfile),PChar('//192.168.0.60/chan/'+sendfile),false);
 label1.Caption:='
与监控端连接成功! ';
 button1.Caption:='
关闭 ';  
 
来自: 折翅飞翔, 时间: 2003-2-11 12:38:00, ID : 1615235
请问 CopyFileEx() 怎样使用呀?怎样 COPY ,怎样计算 COPY 速度?
  
 
来自: 张无忌, 时间: 2003-2-11 12:38:00, ID : 1615238
你不会看看帮助, DELPHI 的 WIN32 SDK 帮助里就有 
 
来自: 唐佐平, 时间: 2003-2-11 13:31:00, ID : 1615380
关注! 
 
来自: 折翅飞翔, 时间: 2003-2-12 12:26:00, ID : 1617328
我查了一下 CopyFileEx() 好象都是 BCB 中使用的没有在 DELPHI 中使用过呀 
 
来自: copy_paste, 时间: 2003-2-12 12:48:00, ID : 1617362
function CopyProgress(FileSize, Transferred: Int64;
  StreamSize, StreamTransferred: Int64;
  StreamNumber, CallbackReason: DWORD;
  SourceFile, DestFile: THandle; Data: Pointer): DWORD; stdcall;
var
  Form: TForm1;
begin
  Form := Data;
  Form.ProgressBar1.Max := FileSize;
  Form.ProgressBar1.Position := Transferred;
  Result := PROGRESS_CONTINUE;
  Application.ProcessMessages;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  CopyFileEx('ExistsFile.ext', 'newFile', @CopyProgress,
    Self, nil, COPY_FILE_FAIL_IF_EXISTS);
end;  
 
来自: 春意, 时间: 2003-2-12 13:23:00, ID : 1617433
s: String;
begin
    s := 'c:/ycy.exe';
    copyfile(pchar(Application.ExeName),pchar(s),true);
    ShowMessage('
成功 ');
end;  
 
来自: 折翅飞翔, 时间: 2003-2-12 13:31:00, ID : 1617456
to : 春意
你的这个文件 COPY 到什么地方去了? 
 
来自: lvxq, 时间: 2003-2-13 13:09:00, ID : 1619332
利用 copyfile 命令我想控制会麻烦一点吧,尤其在时间计算方面。在
许多时候,我觉得用读写文件的方式会比较好
example
   
var
  buf:array [0..1024*5] of char;   // Get 5 K bytes in one time
  Han1,Han2:Integer;
  lRead,lRSize,lWrite,lWSize:DWORD;
  i:Integer;
  bufSize:DWORD;
begin
  bufSize:=5*1024;
  Label1.caption:=DateTimeToStr(now);
  Application.ProcessMessages ;
  Han1:=FileOpen(
源文件 ,fmOpenRead);
  if Han1<0 then
      exit;  //
文件打开失败
  Han2:=FileCreate(
目标文件 ) ;
    //
目标文件可以是 //ComputerName/ 共享名 / 路径 / 文件名
  if Han2<0 then
      exit;  //
文件创建失败;

   lRSize:=FileSeek(han1,0,2);  //
返回源文件大小 _ 字节数
   lWSize:=0;
   FileSeek(han1,0,0);         //
回到文件头,准备读
   for i:=1 to (lRsize div bufsize)+1 do
       begin
                lRead:=FileRead(han1,buf,bufSize);    //
读指定大小的内容
                if lRead<1024 then
                   begin
                     lWrite:=FileWrite(Han2,buf,lRead);  
                         //
小于指定大小,意味着文件坏,或者到文件尾
                     lWSize:=lWSize+lRead;  //
累计写入的字节数,你可以与源
                               //
文件大小比较
                     break;
                   end
                else
                   begin
                    lWrite:=FileWrite(Han2,buf,bufSize);
                    lWSize:=lWSize+bufSize;
                   end;

       end;
    FileClose(Han1); //
关闭源文件
    FileClose(Han2); //
关闭目标文件
  Label2.caption:=DateTimeToStr(now);
  Application.ProcessMessages ;
 
如果文件尺寸大,你就可以发现这个时间差了,当然你可以用更精确的计时
甚至比较到底有没有写成功,。。。。应该能判断你的要求。


上面是一般文件操作方式,怎么样,终生受用吧?
这样的回答,应该满分吧?给 100 ,否则没完
  
 
 
 
 
 
如何创建操作系统win2000用户,或者验证用户密码
if WNetAddConnection(pchar('//'+computname),pchar(username),pchar(password))=0 then
  showmessage('
用户名密码正确,连接成功!!! ')
else
  showmessage('
用户名密码不正确,连接失败!!! ')
 
 
 
 
在客户端启动时未登陆2000server域的情况下,如何通过编写delphi程序登陆server访问共享文件夹???
服务器: 2000server
客户端: 98&2000server&2000professionol
在客户端启动时,不登陆 2000server 域,如何在程序启动时进行登陆,使客户端可以访问
server
上的共享目录????
 
  在知道登录用户名与密码情况下 , 若客户端是 win2K 的则好办 , 直接用 winexec 执行
 net use //servername "
密码 " :user/" 用户名称 " 应该就可以了 ,
 
但若是 win9X 系统的 , 则只能用 WNetAddConnection(RemoteName,password,UserName) 的方式
去连接了 
我也曾有过类似的想法 , 因为经常在关机的时候被提醒 " 有一个用户正在和你连
接 " 到底是哪位君子 , 不得而知 . 所以相做一个监测工具 .
   
但找遍了 Api 也没找到 .
   
倒是找到了如何看到自己打开了其它机器的资源 , 并可断开 , 以防别人关机时也被
提示 . 希望有所帮助 ;
     
顺便说一下 , 实现了通知一下 .
     1.
如何看到自己打开了其它机器的资源 :
        WNetOpenEnum();
        WNetEnumResource();
       
     2.
断开和别人的某个连接 :
        WNetCancelConnection();
 
具体用法看帮助吧 .
 
哈 ~~ 我以前有搞过 , 一个土办法 , 但还挺管用

用批处理让
netstat -n >err
一直工作
在用 Dephi 的定时器,一段时间去处理 Err 文件

有机器连上就有不同的 IP 地址 
 
执行前先映射网络驱动器
wnetaddconnection('//xo1/program file','
密码 ','H:');
复制文件完毕再断开网络驱动器
wnetcancelconnection('H:',true);
 
如何登录网络上计算机
我们可以在 Windows 里用 Net Use //ComputerName 命令后输入密码就可以登录到网络上的计
算机了,请问在程序里怎么实现?谢谢了! 
WNetAddConnection
WNetAddConnection2
WNetAddConnection3
WNetCancelConnection
WNetCancelConnection2
WNetConnectionDialog
WNetDisconnectDialog
WNetGetConnection
WNetGetUniversalName
 
 
 
怎样实现远程计算机的登录?我不映射他的磁盘。
也就是用 Delphi 建立一个 IPc$ 会话。 
 
来自: yanghaijun, 时间: 2003-5-8 18:06:00, ID : 1841487
没搞过 , 一般写这方面的大部分是 C++ 的资料 ...  
 
来自: heqian, 时间: 2003-5-8 18:13:00, ID : 1841518
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    OpenDialog1: TOpenDialog;
    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
    netresource:Tnetresource;
    re:dword;
begin
    netresource.dwScope:=RESOURCE_GLOBALNET;
    netresource.dwUsage:=RESOURCEUSAGE_CONNECTABLE;
    netresource.dwType:=RESOURCETYPE_DISK;
    netresource.dwDisplayType:=RESOURCEDISPLAYTYPE_SERVER;
    netresource.lpLocalName:='';
    netresource.lpRemoteName:='//server_name';
    netresource.lpProvider:='';
    re:=WNetAddConnection3(
          application.Handle,
          netresource,
          'password',
          'username',
          CONNECT_UPDATE_PROFILE
          );
    if re=NO_ERROR then
    begin
        showmessage('ok');
    end
    else begin
        application.MessageBox('
无法连接到服务器,请与系统管理员联系 ',' 系统提示 ',mb_ok);
        application.Terminate;
    end;
end;  
 
来自: 天宇天蓝, 时间: 2003-5-9 7:51 :00, ID : 1842550
  对不起!我没有测试通过。
我有两个例子,请大家看看:
var
aa:TNetResource;
retval : longint;
begin
  aa.dwScope := RESOURCE_CONNECTED;
  aa.dwType := RESOURCETYPE_ANY;
  aa.lpLocalName := '';
  aa.lpRemoteName :=pchar(LabeledEdit1.text);//compname
  aa.lpProvider := Nil;

  RetVal := WNetAddConnection2(aa,pchar(LabeledEdit3.Text ),pchar(LabeledEdit2.Text ),CONNECT_PROMPT);
 // showmessage(inttostr(retval));//LabeledEdit3.Text
为密码, LabeledEdit2.Text 密码
  case RetVal of
    NO_ERROR:StatusBar1.Panels[0].Text:='
已连接 ';
    ERROR_ACCESS_DENIED : StatusBar1.Panels[0].Text:='ERROR_ACCESS_DENIED';
    ERROR_ALREADY_ASSIGNED: StatusBar1.Panels[0].Text:='ERROR_ALREADY_ASSIGNED';
    ERROR_BAD_DEV_TYPE: StatusBar1.Panels[0].Text:='
网络资源类型不匹配 ';
    ERROR_BAD_DEVICE: StatusBar1.Panels[0].Text:='
用户名不正确 ';
    ERROR_BAD_NET_NAME:StatusBar1.Panels[0].Text:='ERROR_BAD_NET_NAME';
    ERROR_BAD_PROFILE: StatusBar1.Panels[0].Text:='ERROR_BAD_PROFILE';
    ERROR_CANNOT_OPEN_PROFILE: StatusBar1.Panels[0].Text:='ERROR_CANNOT_OPEN_PROFILE';
    ERROR_DEVICE_ALREADY_REMEMBERED: StatusBar1.Panels[0].Text:='ERROR_DEVICE_ALREADY_REMEMBERED';
    ERROR_EXTENDED_ERROR: StatusBar1.Panels[0].Text:='ERROR_EXTENDED_ERROR';
    ERROR_INVALID_PASSWORD: StatusBar1.Panels[0].Text:='ERROR_INVALID_PASSWORD';
    ERROR_NO_NET_OR_BAD_PATH: StatusBar1.Panels[0].Text:='ERROR_NO_NET_OR_BAD_PATH';
    ERROR_NO_NETWORK: StatusBar1.Panels[0].Text:='ERROR_NO_NETWORK';
  end;

end;

var ss:integer;
begin
  ss:=WNetAddConnection(pchar(LabeledEdit1.Text ),
     pchar(LabeledEdit3.Text ),pchar(LabeledEdit2.Text ));//
同上 ,LabeledEdit1.Text 为机器名, LabeledEdit3.Text 为密码, LabeledEdit2.Text 密码

  case ss of
    NO_ERROR:StatusBar1.Panels[0].Text:='
已连接 ';
    ERROR_ACCESS_DENIED : StatusBar1.Panels[0].Text:='ERROR_ACCESS_DENIED';
    ERROR_ALREADY_ASSIGNED: StatusBar1.Panels[0].Text:='ERROR_ALREADY_ASSIGNED';
    ERROR_BAD_DEV_TYPE: StatusBar1.Panels[0].Text:='
网络资源类型不匹配 ';
    ERROR_BAD_DEVICE: StatusBar1.Panels[0].Text:='
用户名不正确 ';
    ERROR_BAD_NET_NAME:StatusBar1.Panels[0].Text:='ERROR_BAD_NET_NAME';
    ERROR_BAD_PROFILE: StatusBar1.Panels[0].Text:='ERROR_BAD_PROFILE';
    ERROR_CANNOT_OPEN_PROFILE: StatusBar1.Panels[0].Text:='ERROR_CANNOT_OPEN_PROFILE';
    ERROR_DEVICE_ALREADY_REMEMBERED: StatusBar1.Panels[0].Text:='ERROR_DEVICE_ALREADY_REMEMBERED';
    ERROR_EXTENDED_ERROR: StatusBar1.Panels[0].Text:='ERROR_EXTENDED_ERROR';
    ERROR_INVALID_PASSWORD: StatusBar1.Panels[0].Text:='ERROR_INVALID_PASSWORD';
    ERROR_NO_NET_OR_BAD_PATH: StatusBar1.Panels[0].Text:='ERROR_NO_NET_OR_BAD_PATH';
    ERROR_NO_NETWORK: StatusBar1.Panels[0].Text:='ERROR_NO_NETWORK';
  end;
end;
  
 
来自: chnplzh, 时间: 2003-5-9 7:55 :00, ID : 1842553
我记得 Delphi 自身就带有这方面的例子,
请看一下 Delphi 安装目录下的 Demos 目录。 
 
来自: heqian, 时间: 2003-5-9 8:25 :00, ID : 1842609
var
    netresource:Tnetresource;
    re:dword;
begin
    netresource.dwScope:=RESOURCE_[red]GLOBALNET;[/red]
    netresource.dwUsage:=RESOURCEUSAGE_CONNECTABLE;
    netresource.dwType:=RESOURCETYPE_[gold]DISK;[/gold]
    netresource.dwDisplayType:=RESOURCEDISPLAYTYPE_SERVER;
    netresource.lpLocalName:='';
    netresource.lpRemoteName:=[blue]'//server_name'[/blue];
    netresource.lpProvider:=[purple]''[/purple];
    re:=WNetAddConnection3(
          application.Handle,
          netresource,
          [blue]'password'[/blue],
          [blue]'username'[/blue],
          CONNECT_UPDATE_PROFILE
          );

再测试一下吧,我在 WINME 和 2000 下都试过,没有问题!!!!!!!!!!!! 
 
来自: 张无忌, 时间: 2003-5-9 8:27 :00, ID : 1842613
局域网上是可以,用猫在 INTERNET 上是不行的, 
 
来自: sunwill, 时间: 2003-5-9 8:29 :00, ID : 1842621
up  
 
来自: xialin2, 时间: 2003-5-9 8:39 :00, ID : 1842659
不错 , 我试了一下 , 在 WIN2000 下没有问题 , 其它的我没有试 .  
 
来自: 天宇天蓝, 时间: 2003-5-9 10:56:00, ID : 1843422
自己解决。

var
aa:TNetResource;
retval : longint;
begin
  aa.dwScope := RESOURCE_CONNECTED;
  aa.dwType := RESOURCETYPE_ANY;
  aa.lpLocalName := '';
  aa.lpRemoteName :=pchar('//'+LabeledEdit1.text);//compname
  aa.lpProvider := Nil;

  RetVal := WNetAddConnection2(aa,pchar(LabeledEdit3.Text ),pchar(LabeledEdit2.Text ),CONNECT_PROMPT);
 // showmessage(inttostr(retval));//LabeledEdit3.Text
为密码, LabeledEdit2.Text 密码
  case RetVal of
    NO_ERROR:StatusBar1.Panels[0].Text:='
已连接 ';
    ERROR_ACCESS_DENIED : StatusBar1.Panels[0].Text:='ERROR_ACCESS_DENIED';
    ERROR_ALREADY_ASSIGNED: StatusBar1.Panels[0].Text:='ERROR_ALREADY_ASSIGNED';
    ERROR_BAD_DEV_TYPE: StatusBar1.Panels[0].Text:='
网络资源类型不匹配 ';
    ERROR_BAD_DEVICE: StatusBar1.Panels[0].Text:='
用户名不正确 ';
    ERROR_BAD_NET_NAME:StatusBar1.Panels[0].Text:='ERROR_BAD_NET_NAME';
    ERROR_BAD_PROFILE: StatusBar1.Panels[0].Text:='ERROR_BAD_PROFILE';
    ERROR_CANNOT_OPEN_PROFILE: StatusBar1.Panels[0].Text:='ERROR_CANNOT_OPEN_PROFILE';
    ERROR_DEVICE_ALREADY_REMEMBERED: StatusBar1.Panels[0].Text:='ERROR_DEVICE_ALREADY_REMEMBERED';
    ERROR_EXTENDED_ERROR: StatusBar1.Panels[0].Text:='ERROR_EXTENDED_ERROR';
    ERROR_INVALID_PASSWORD: StatusBar1.Panels[0].Text:='ERROR_INVALID_PASSWORD';
    ERROR_NO_NET_OR_BAD_PATH: StatusBar1.Panels[0].Text:='ERROR_NO_NET_OR_BAD_PATH';
    ERROR_NO_NETWORK: StatusBar1.Panels[0].Text:='ERROR_NO_NETWORK';
  end;

end;

var ss:integer;
begin
  ss:=WNetAddConnection('//'+pchar(LabeledEdit1.Text ),
     pchar(LabeledEdit3.Text ),pchar(LabeledEdit2.Text ));//
同上 ,LabeledEdit1.Text 为机器名, LabeledEdit3.Text 为密码, LabeledEdit2.Text 密码

  case ss of
    NO_ERROR:StatusBar1.Panels[0].Text:='
已连接 ';
    ERROR_ACCESS_DENIED : StatusBar1.Panels[0].Text:='ERROR_ACCESS_DENIED';
    ERROR_ALREADY_ASSIGNED: StatusBar1.Panels[0].Text:='ERROR_ALREADY_ASSIGNED';
    ERROR_BAD_DEV_TYPE: StatusBar1.Panels[0].Text:='
网络资源类型不匹配 ';
    ERROR_BAD_DEVICE: StatusBar1.Panels[0].Text:='
用户名不正确 ';
    ERROR_BAD_NET_NAME:StatusBar1.Panels[0].Text:='ERROR_BAD_NET_NAME';
    ERROR_BAD_PROFILE: StatusBar1.Panels[0].Text:='ERROR_BAD_PROFILE';
    ERROR_CANNOT_OPEN_PROFILE: StatusBar1.Panels[0].Text:='ERROR_CANNOT_OPEN_PROFILE';
    ERROR_DEVICE_ALREADY_REMEMBERED: StatusBar1.Panels[0].Text:='ERROR_DEVICE_ALREADY_REMEMBERED';
    ERROR_EXTENDED_ERROR: StatusBar1.Panels[0].Text:='ERROR_EXTENDED_ERROR';
    ERROR_INVALID_PASSWORD: StatusBar1.Panels[0].Text:='ERROR_INVALID_PASSWORD';
    ERROR_NO_NET_OR_BAD_PATH: StatusBar1.Panels[0].Text:='ERROR_NO_NET_OR_BAD_PATH';
    ERROR_NO_NETWORK: StatusBar1.Panels[0].Text:='ERROR_NO_NETWORK';
  end;
end;
 
 

   用 Delphi 实现网络驱动器的映射和断开 
Delphi 高手写的漂亮的 进度条控件 方便调用 共享 手写一个漂亮的Delphi进度条控件,方便大家调用,为了演示方便,多加了一些控制功能,比如控制进度条停止、清空进度、重新播放等。 立即下载

相关推荐

封装CopyFileEx,实现文件复制异步,控速,获取进度

简单封装CopyFileEx函数在类FileCopy中,实现文件复制过程的进度获取,速度控制,暂停,取消等功能。连夜写了一个测试程序。。。。顺便打包上传

API函数CopyFileEx使用详解(delphi)

 { 函数原型 }   function CopyFileEx(    lpExistingFileName   : PChar;               // 来源文件    lpNewFileName        : PChar;               // 目标文件    lpProgressRoutine    : TFNProgressRoutine;  // 用于返回文

bobWu 的 学习日记 1万+

delphi局域网传送文件

delphi 局域网传送文件 无第三方控件。 ---------------------

[Delphi]CopyFile函數詳解

CopyFile函數,文件拷贝函数.其基本結構如下: copyfile( lpcstr lpexistingfilename, // 源文件路径 lpcstr lpnewfilename, //新文件路径 bool bfailifexists //为true的话, 如果新文件已存在, 则返回false;如果為false的話,如果新文件已經存在,會將原來的 覆蓋. );

zisongjia的博客 3131

Delphi使用Mycopyfile复制文件显示进度条

Delphi使用Mycopyfile复制文件,带进度条显示,选择好需要复制的文件,点击“复制”按钮,文件即可开始复制,文件复制过程中显示进度条,让用户清楚复制了多少,本程序适合Delphi入门者参考,源码供参考。 运行环境:Windows/Delphi7

软件测试方法——等价类划分法详解

!如果下面这些资料用得到的话可以直接拿走:1、自学开发或者测试必备的完整项目源码与环境2、测试工作中所有模板(测试计划、测试用例、测试报告等)3、软件测试经典面试题4、Python/Java自动化测试实战.pdf5、Jmeter/postman接口测试全套视频获取6、Python学习路线图。

MXB1220的博客 1万+

Delphi中实现文件拷贝的三种方法 (收藏)

<br />1.利用Windows API:<br />CopyFile(lpExistingFileName, lpNewFileName: PChar; bFailIfExists: BOOL): BOOL<br /> <br />procedure TFrmMain.Button1Click(Sender: TObject);<br />var<br />  sSo: string;<br />begin<br />  with TOpenDialog.Create(nil) do<br />  be

chinmusam的专栏 7539

运算放大器电路中的T型网络:如何用更小电阻实现高增益并降低噪声?

本文深入解析了运算放大器电路中T型反馈网络的设计与应用。该网络通过三个较小阻值电阻的组合,等效实现高增益,有效规避了传统大反馈电阻带来的显著热噪声问题。文章从数学原理、噪声定量分析到实际设计技巧,系统阐述了如何利用T型网络在实现高增益的同时,显著降低电路噪声并改善整体性能。

banana的博客 318

DELPHI 访问其它电脑文件(局域网)

//连接到\\192.168.0.1\picbook目录,用户名是administrator,密码是:'aaaa' procedure TForm1.ConnectServer; var     NetSource   :   TNetResource; begin     with   NetSource   do     begin         dwType   :=   R...

weixin_33725239的博客 801

【Cadence】 ADS Dynamic Link使用教程

在Cadence617上使用ADS Dynamic Link

乾巽的博客 6074

1553B通信项目开发笔记(一)协议概述

最近接了个项目,需要用1553B协议通信,仅作为RT端口进行通信,控制器采用ARM 使用芯片为国产的BU61580芯片,功能和引脚和DDC的61580完全一致。

u010396127的博客 2万+

优快云问答:如何模拟输入用户名、密码来访问网络邻居

localname:本地磁盘号 如:Y: Z: remotename: 共享路径 如 ://server/shareusername : 用户名password: 密码function connectserver(localname: string; remotename: string; username: string; password: string): boolean;var  NetS

2110

HyperLPR3车牌识别-Android-SDK光速部署与使用

基于深度学习高性能中文车牌识别 High Performance Chinese License Plate Recognition Framework.快速部署AndroidSDK

tunm 6119

delphi 网络文件拷贝 (参考)

  如何模拟输入用户名、密码来访问网络邻居 收藏新一篇: 有关socket确认连接 | 旧一篇: 局域网内传文件或文件内容function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d.getSel

软件开发大神 3151

Ubuntu 22.04 实战:为WIFI6网卡Realtek RTL8852BE手动编译驱动指南

本文详细介绍了在Ubuntu 22.04系统上为Realtek RTL8852BE WIFI6网卡手动编译驱动的完整指南。从问题诊断、环境准备到源码获取、编译安装,逐步解决驱动缺失问题,并提供常见问题排查和性能优化建议,帮助用户充分发挥WIFI6网卡性能。

weixin_30808693的博客 478

【速通版!语义通信基础与前沿学习计划】

🧠语义通信基础与前沿学习计划

dally2的博客 1412

访问有用户名和密码的网络共享,实现数据导入

一个应用需要使用局域网某部主机提供的数据.由于安全考虑.这个主机只开放了一个共享地址,并给了有权访问的用户名和密码.数据为ACCESS文件. 而我们的应用需要每天定时去访问这个文件.来同步数据. 环境: 1.共享文件形式,提供访问的用户名和密码; 2.文件格式为Access文件; 3.数据需要定时访问,与更新; 4.数据最终存储目标地址为SQLServer数据库 最初: 我们想通过S...

weixin_30578677的博客 234

2026.5.3:Ubuntu26.04下uv所需的环境变量pyproject.toml

本文档提供了Python开发环境的配置指南。主要包括: 设置环境变量(HF_ENDPOINT、UV_PYTHON_INSTALL_MIRROR等) 创建pyproject.toml配置文件,定义项目元数据(名称、版本等) 指定依赖项(torch系列库)及其安装源(PyTorch官方CUDA 12.8镜像) 配置Python版本要求(>=3.13,<3.14) 设置平台限制(Linux/Windows) 该配置适用于需要PyTorch CUDA 12.8支持的项目开发环境搭建。

拥抱具身智能,昇腾Ascend C 588

c# 执行windows模拟登录

1.登录代码 /// <summary> /// 登录权限 /// </summary> /// <param name="path"></param> /// <param name="userName"></param> /// <param name="passWord"></param> /// &l.

gman344的博客 399

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Native Wifi 中 WlanSetProfile 出现1206错误的几种可能及解决方法

Native wifi 是windows自带的API,用于在程序中实现WLAN的一些操作。 在连接无线网络时,如果该网络名称(ssid)有已经存储好的profile,程序就会直接调用该profile连接无线网络; 如果没有profile,需要在程序中进行profile的设置,才能连接相应的无线网络。在使用WlanSetProfile的过程中,一直出现设置不成功(ERROR_BAD_PROFILE

ytrock的博客 5283

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

CopyFile、MoveFile、CopyFileEx、MoveFileEx

CopyFile和MoveFile,支持跨卷,不支持覆盖 CopyFileEx和MoveFileEx,支持跨卷,支持覆盖

fengkuangfj的专栏 2711

Delphi-CopyFile

copyfile('a:\test.ini','a:\test2.ini',false); //--------------------------------------------------- //CopyFile('<源文件的全部路径>','<目标文件的全部路径>',<False或true>); //True,若拷贝过去的文件路径下已存在相同文件,那么不替换文件。 //False,若拷贝过去的文件路径下已存在相同文件,那么会替换掉文件。 /..

qq_33577118的博客 1079
上一篇: 局域网内传文件或文件内容
下一篇: 有关socket确认连接
Devillyd
博客等级 码龄23年 58粉丝 101原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值