说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

用Delphi实现网络驱动器的映射和断开

HTML文档下载 WORD文档下载 PDF文档下载
用Delphi实现网络驱动器的映射和断开

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

一、 基本原理

在Microsoft Windows环境下,应用程序使用Windows网络函数(WNet)来实现网络功能而不用关心网络的供应商及具体实现。因为WNet函数是独立于网络的。

Wnet函数主要有:WnetAddConnection

WnetAddConnection2

WnetAddConnection3

WnetCancelConnection2等。本文主要用WnetAddConnection2,WnetCancelConnection2函数,下面简单介绍一下,关于WNet函数更详细的资料请参考Delphi的连机文档和Microsoft API函数说。

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;

本程序在Delphi3.0

4.0、PWindows95、Novell Netware 3.12下编译运行通过。

Google Play Game Service详解 不仅提供API更提供后端支持 IBM Power走向Linux,是必然的! 美国国家安全局解密特工培训手册:如何利用谷歌等大众搜索工具搜集保密数据 微软IE10如何保护上网安全(大图) 谷歌无畏苹果的理由:强力的算法和基础设施架构 开发者热议异构统一内存访问技术(hUMA) 千万级并发实现的秘密:内核不是解决方案,而是问题所在! Apache RewriteRule重写规则语法入门 IDC:2013 Q1 Android和iOS出货量占92% WP首超黑莓 传雅虎欲10亿美元收购轻博客网站Tumblr A Beautiful Mess:如何赚男人女人的钱 CSS、JavaScript开发者必备的10款最佳工具 IBM推出API管理平台 抢占API经济市场份额 2013中国云计算榜单之一:15云平台,谁主沉浮? 移动周报:百万壁纸、85后程序媛,我为梦想代言! 电信天翼开放平台:为App开发者免费提供云存储和云主机服务 Google新的Web UI库:Ploymer 研发周报:让开发者高效编程的10个新框架 拯救行将就木的PHP:谷歌为GAE添加PHP支持 PPT集萃(一):10位业内高管分享云计算技术理念与行业趋势 得益于苹果谷歌,未来可穿戴技术市场规模可达500亿美元 雅虎11亿美元押注Tumblr三大因素:用户、社交、内容 Perceptual:英特尔感知计算挑战赛 正式启动 吴义坚:创业去!我用深度神经网络,处理语音识别 浅谈用户体验的“反面模式 可穿戴设备又一站:增强现实眼镜CastAR 数字医疗投资将破纪录 投资人看好这些细分领域 Mayer又下一城:雅虎收购Tumblr推进移动化? 前端开发利器:代码预处理工具Prepros 一个轻量级的JavaScript库:Reactor.js [探讨] 用户体验设计师现在面临怎样的机遇和挑战? 在VB里调用API打开HTML文件 如何使程序运行时隐藏dialog窗口? 关于datawindow脚本内容! AtlReportError问题 Oracle8i Release 8.1.5 原版电子文档(pdf)--- 谁要!!!!! 如何用delphi实现图像网络传输与存储?请高手介绍方法,包括用什么库,通过TCP/IP怎么办? 请教打印问题 一个菜鸟的提问 在BEAN中,System.out.println("yyy")为什么不能输出呀? 局域网接ADSL,如何限制用户上互联网? 如何不安装oracle的客户端用来连接服务器上的oracle数据库 请问哪有VC关于ADO编程的书籍下载? 关于组件的问题? 用DAO连接数据库,在我的机器上运行没问题,但在其它机器上一运行就挂 谁能告我liulee的个人网页地址呀?? 关于在浏览器中直接运行VB程序的问题 十万火急,我遇上两个奇怪的问题。答者重谢。 请问:如何使用toString? 各位,期待已久的简单任务来了!又是100分!(SQL Server 2000) 好累啊,想放弃了,但又无法回头! Java中,Inner class可不可以使用final修饰符? 谁能告我liulee的个人网页地址呀??急 请教如何在程序运行时修改dbgrid控件options属性中的关于多选控制和整行选择的两个属性? 请推荐UNIX方面的书籍 如何使用toString()方法,谢谢 菜鸟系列:一个简单的编译错误,但我不明白!救命啊!!!! 这就是标准?SJ/T11234 SJ/T11235培训纪实 在哪里看我现在linux系统中用的应用软件的版本号?比如wu-ftp sendmail等等! 操作系统版本不同问题 BCB下怎么调用WINDOWS API函数,急 cpu风扇不转的问题…… 游戏开发的高手或者3维建模的高手,是怎样开发人物模型的呢? 今天下午有没有去微软发布会的????马上回答 关于字体问题!请教会者不难者!!!!!!!! 請問怎麼定義小一點得符點數???? ReadFile超时返回什么? 我的机器装了2000server,2000profession 和NT4.0,现在机器空间不够想把nt4.0和2000profession 卸载,请问应该如何进行?? 怎样用PB代码实现在MDI窗口里的 Ctrl + Tab 的功能 ? 如何将静态库加入项目中,有头文件,SETING出也加入,为何说和系统的库重复定义 如何调用非mfc的程序调用mfc下开发的动态连接库, 请问谁有监测图片变化的部分代码?(在线等待) GetCurrentDirectory()?? 用ADo更新图片(bmp,jpg)难道只能将原来的数据记录删除后在添加吗?不能直接更新吗? 请大家帮忙解决一下循环体的问题!!:) 请问oracle 自己带的http server(实际上是apache)如何配置class path 给你100分(OLE) 我在制作一个网络浏览器时遇到一个问题,在线等你的帮助 公司不做软件了,失业了,高兴送分 JNI 中内存管理的问题 ehlib控件的问题,如何在表中的一字段显示一个列表?分可以加,,,在线等 大家帮我 帮忙写一下Na2CO3,NaHCO3,Na3PO4,AlCl3水溶液的电荷守恒,原子守恒,和质子守恒的式子 碳酸钠和碳酸溶液中水的电离程度比较 关于自然界中霜雨露雾的形成,说法错误的是A云中有小水滴,他们是水蒸气升入高空时遇冷液化而成的B雾是漂浮在空气中的大量的水蒸气C露是地面附近的水蒸气液化成的小水珠D霜是空气中的 Na2O和CaO都是碱性氧化物吗?CO和SO3都是酸性氧化物吗? 当光线垂直于水面射入水中,光的传播方向是什么,折射角为多少度,在折射现象中光路是什么的光的传播方向变吗在折射现象中光路是可逆的吗 光从空气中射入斜射入另一种介质中,入射光线会发生偏折,入射角大于折射角. 如果光从空气中射入真空中,入射角是不是会小于折射角.入射角和折射角的关系和介质的密度有没有关系?(请详 每天早上最好的锻炼时间是几点男生 当光线从空气中射入水中,光的传播方向会发生改变,这就是光的折射现象.(前面的都是废话,与题目无关)问题:图中的∠1和∠2是对顶角吗(这个我知道)试比较∠1与∠2大小.(∠1大∠2小 盛过石灰水的试剂瓶内壁有一层白膜,形成白膜原因? SO3+CaO=CaSO3是什么性质?有一瓶无色透明的溶液,可能含有KCL,CacL2,Na2CO3,CuCl2,NaNO3五种盐或其中的一种或几种,取一部分溶液放在试管中,加入组量的BaCl2容易,结果有白色沉淀析出,将沉淀过滤,向过 当光线从空气射入水中时,光的传播的方向发生了改变,这就是折射现象.图中∠1=∠ 长期存放石灰水的试剂瓶内壁上往往形成一层不溶于水的白色物质,要洗去该物质可选用A 水 B纯碱溶液 C洗衣粉 D稀盐酸 人在水中向前的速度与阻力的关系是怎样的,一般游泳的人会再水中受到多大阻力? 早上和晚上那个时间锻炼最好? 当光线从空气中射入水中,光的传播方向会发生改变,这就是光的折射现象∠1=43°,∠2=108°,试问光的传播方向改变了多少度?写错了,∠2=27° 什么时候的空气最新鲜? CAO的pH值是多少? 长期存放石灰水的试剂瓶壁有一层白色的固体物质,它是( ),形成白色固体的 化学方程式为( );清洗长期存放石灰水的试剂瓶壁有一层白色的固体物质,它是( 形成白色固体的 化学方程式为( ) 什么时辰空气最新鲜 早上几点钟为最好的锻炼时间? 盛放石灰水的试剂瓶放置时间长了,在瓶口会形成一些白色粉末.用化学方程式如何表示?(急) 早晨什么时间空气最新鲜? 有一种和其他物质不同 CaO SO3 Fe2O3 FeO 盛放石灰水的试剂瓶放置了,瓶口会形成一些白色粉末少打字了,"放置久了" 早晨什么时间空气最新鲜呢? 正能量有哪些?就比如;让座、捐款、义卖、【还有什么?【方便的话给我一篇正能量的作文!要自己做的正能量!不是自己身边】 长期盛放石灰水的试剂瓶壁上有一层白色固体物质,它是—— 澄清石灰水变浑浊后生成的新物质是______的沉淀和_______ 下面四种溶液中,CH3COONa,NaHCO3,Na2CO3,NaClO.水的电离程度最大的是? 长期存放石灰水的玻璃试剂瓶内壁有一层白色物质,它是?形成原因是【用化学方程式表示】? 为什么说二氧化碳通入石灰水后“变浑浊”比“生成白色沉淀”恰当? NA2CO3溶液中水电离产生的H离子浓度当PH=9时 在盛满三分之二水的杯子里放入5克盐,再放入鸡蛋,为什么鸡蛋会浮起来? 澄清石灰水通入二氧化碳后溶液变浑浊,生成()色的()沉淀 同样的向外辐射热的时间,为什么空气的温度比草的高,是根据什么原理 重100牛的水可以产生多大的浮力 有一包白色固体粉末A,加入Hcl生成气体B和白色沉淀,把B通入澄清石灰水,澄清石灰水变浑浊.往白色沉淀中滴加HCL,沉淀不消失.A、B、白色沉淀是什么物质 说明理由 电流击穿空气时能产生多高的温度? 盛装有石灰水的试剂瓶,日久内壁会附着一层白色固体,要想清洗掉这层白色固体,常用的试剂是A用水洗 B热的纯碱溶液 C稀硫酸 D稀盐酸 除了二氧化碳,澄清石灰水和什么生成沉淀这个气体要对自然界生命活动至关重要,问铜和二氧化碳高温反应吗,如果不反应,那么红色金属单质和二氧化碳反应生成碳或一氧化碳,红色金属 求正能量 盛放石灰水的试剂瓶内壁会有一圈白色物质,这是应为什么?宜用什么清洗?CaCO3是什么 为什么我老是梦到我自己在海中央游泳?沉入海底,后来又游出水面了? 我身边的正能量 征文400字左右 久置的装石灰水的试剂瓶用盐酸清洗化学方程式 物体在水里受到的浮力和压力一样吗? 谁能给我些正能量啊?我希望每天能量满满的活着 盛石灰水的试剂瓶壁上的白膜用盐酸清除的化学方程式 水沉底后有没有受到浮力?为什么?怎么样才算没有浮力.怎样才是?---具体. 水结冰体积变大会产生什么危害?水结冰体积变大这种现象会产生什么危害?越快越好噢!^=^ 水结冰时——体积如何变化? 一个球体再充满水的土里的浮力,跟在水里的浮力一样么? 水结冰体积变大有什么危害 实验室放石灰水的瓶中常有不溶于水的CaCO3,可加 除去,化学方程式为 物质的量浓度相等的Na2CO3和NaHCO3溶液等体积混合后的溶液中,物料守恒物料守衡2NA+=3CO3-+3HCO3-+3H2CO3 这是怎么得出来的? Na2co3溶液中水电离的氢离子个数为什么大于Nahco3同体积同物质的量 注意是氢离子个数 解释自然界中:雨 云 雪 露 雾 霜的形成依次是 na2co3 nahco3 混合溶液中的电荷守恒式 水结冰,体积变大,有什么危害? 自然界中“霜”、“雾”、“露”是怎样形成的,它们的形成过程有什么不同?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘