知识大全 用Delphi实现网络驱动器的映射和断开

Posted 函数

篇首语:未曾哭过长夜的人,不足以语人生。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用Delphi实现网络驱动器的映射和断开相关的知识,希望对你有一定的参考价值。

用Delphi实现网络驱动器的映射和断开  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  大家在运用Delphi编写网络应用程序时可能会遇到这样一个问题 在一个由Windows NT和Novell Neare组成的网络环境中 应用程序需要使用Novell网上的某些数据 如果每次都手工在Windows资源管理器中映射 断开网络驱动器 不仅繁琐而且显得不够专业 本文将介绍在Delphi中使用Windows API函数解决这一问题

一 基本原理  在Microsoft Windows环境下 应用程序使用Windows网络函数(WNet)来实现网络功能而不用关心网络的供应商及具体实现 因为WNet函数是独立于网络的   Wnet函数主要有 WnetAddConnection WnetAddConnection WnetAddConnection WnetCancelConnection 等 本文主要用WnetAddConnection WnetCancelConnection 函数 下面简单介绍一下 关于WNet函数更详细的资料请参考Delphi的连机文档和Microsoft API函数说

  WNetAddConnection 在Windows pas中的函数原型如下

function WNetAddConnection (var lpNetResource: TNetResource;lpPassword lpUserName: PChar; dwFlags: DWORD): DWORD; stdcall;

  为调用此函数必须填写lpNetResouce结构 此结构的定义为 typedef struct _NETRESOUCEDWORD 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 : 指定提供网络资源的供应商 如为空 则表示供应商未知 WNetAddConnection 函数的lpPassword为远程资源的口令 lpUserName为远程资源的用户名 dwFlags标志位用于指定登录时是否重新连接( 时表示不重新连接 CCONNECT_UPDATE_PROFILE登录时重新连接) WnetCancelConnection 在Windows pas中的函数原型如下 function WNetCancelConnection (lpName: PChar; dwFlags: DWORD; fForce: BOOL): DWORD; stdcall;lpName : 要断开的远程网络资源或本地重定向驱动器 dwFlags : 含义同上 fForce : True表示不管是否有文件打开 强制性断开网络驱动器 False 表示如有文件打开则函数运行失败

二 实例  在Delphi的File菜单下选择New Application 在Form 上放置一个Button 在Button 的Click事件中键入如下代码 procedure TForm Button Click(Sender : TObject);varNetSource : TNetResource;beginwith NetSource dobegindwType := RESOURCETYPE_ANY;lpLocalName := X: ; // 将远程资源映射到此驱动器lpRemoteName := \\\\hqServer\\sys ; // 远程网络资源lpProvider := ; // 必须赋值 如为空则使用lpRemoteName的值 end;WnetAddConnection (NetSource Password Guest //用户名为Guest 口令为PasswordCONNECT_UPDATE_PROFILE); //下次登录时重新连接//此时在Windows资源管理器中可看到网络驱动器X if MessageDlg( Are you sure to disconnect Drive ? mtConfirmation [mbYes mbNo] ) = mrYes then //不管是否有文件打开 断开网络驱动器X WNetCancelConnection ( X: CONNECT_UPDATE_PROFILE True); end;end;

cha138/Article/program/Delphi/201311/8529

相关参考

知识大全 断开网络连接后mac地址变成全0了,怎样改回来呢

断开网络连接后mac地址变成全0了,怎样改回来呢?用这个软件MAC地址精灵:sky./soft/17158.window7怎样断开网络连接win7系统断开网络连接方法如下:1点击电脑屏幕右下角向上小三

知识大全 Delphi编程检测驱动器类型

Delphi编程检测驱动器类型  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  查看驱动器时往往需

知识大全 delphi编程实现弹出、关闭CD-ROM驱动器

delphi编程实现弹出、关闭CD-ROM驱动器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 您的网络已断开,请重新连接

联通在线客服永远提示您的网络已断开,请重新连接!如果其他网站可以正常访问和登录,只有联系联通在线客服时一直提示您的网络已断开,请尝试重新连接,同时建议更换浏览器或其他时间段进行测试。如仍然此问题,建议

知识大全 手机不小心点了一个下载新百度浏览器的·我想取消,我一连接网络它就自动下载·断开他也显示下载·

手机不小心点了一个下载新百度浏览器的·我想取消,我一连接网络它就自动下载·断开他也显示下载·找到他的文件删了它、安卓系统的建议你用豌豆荚软件,什么都在电脑上下载,省流量!不小心点了一个下载新百度浏览器

知识大全 不知道怎么回事,上微信后老是自动断开

不知道怎么回事,上微信后老是自动断开可能是网络原因吧,可以检查网络情况,或者重新启动微信再试。玩游戏时wifi自动断开不知道怎么回事楼主你好,出现wifi不稳定是有3种可能:网络服务商网络不稳定。你可

知识大全 利用Delphi开发网络数据库应用

利用Delphi开发网络数据库应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Delphi是

知识大全 总提示检测不到网络摄像头!是大家帮我看看是什么原因

惠普笔记本电脑内置摄像头不能用了!总提示检测不到网络摄像头!是大家帮我看看是什么原因保证能解决1.百度下载(驱动精灵)精简版就行2.安装打开软件3.让它自动检测可安装的驱动。4.安装之后还是没反应重启

知识大全 路由器安装后连接状态是已断开

路由器安装后连接状态是已断开无线路由器连接状态断开的可能原因及解决方法:1.WAN口线松动解决方法:重新连接无线路由器WAN口网线。2.上级网络设备异常解决方法:重新设置或更换上级网络设备。3.拨号异

什么是机械制动?

  利用机械装置使电动机断开电源后迅速停转的方法叫机械制动。机械制动常用的方法有电磁抱闸制动器制动和电磁离合器制动。  使电动机在断开电源停转的过程中。产生一个和电动机实际旋转方向相反的电磁力矩(制动