p>大家在运用delphi编写网络应用程序时可能会遇到这样一个问题:在一个由windows nt和novell .netware组成的网络环境中,应用程序需要使用novell网上的某些数据,如果每次都手工在windows资源管理器中映射,断开网络驱动器,不仅繁琐而且显得不够专业。 本文将介绍在delphi中使用windows32 api函数解决这一问题。
.net函数主要有:.netaddconnection , .netaddconnection2 , .netaddconnection3 , .netcancelconnection2等。本文主要用.netaddconnection2,.netcancelconnection2函数,下面简单介绍一下,关于.net函数更详细的资料请参考delphi的连机文档和microsoft api函数说。
.netaddconnection2在windows.pas中的函数原型如下:
function .netaddconnection2(var l.netresource: .netresource;lppassword, lpusername: pchar; dwflags: dword): dword; stdcall;为调用此函数必须填写l.netresouce结构,此结构的定义为: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 : 指定提供网络资源的供应商。如为空,则表示供应商未知。.netaddconnection2函数的lppassword为远程资源的口令。 lpusername为远程资源的用户名。dwflags标志位用于指定登录时是否重新连接(0时表示不重新连接,cconnect_update_profile登录时重新连接)。.netcancelconnection2在windows.pas中的函数原型如下:function .netcancelconnection2(lpname: pchar; dwflags: dword; fforce: bool): dword; stdcall;lpname : 要断开的 掏缱试椿虮镜刂囟ㄏ蚯鳌?dwflags : 含义同上。fforce : true表示不管是否有文件打开,强制性断开网络驱动器;false 表示如有文 件打开则函数运行失败。
procedure tform1.button1click(sender : tobject);var.netsource : .netresource;begin with.netsource do begin dwtype := resourcetype_any;lplocalname := x:; // 将远程资源映射到此驱动器lpremotename := \\hqserver\sys; // 远程网络资源lpprovider := ; // 必须赋值,如为空则使用lpremotename的值。 end; .netaddconnection2.netsource, password, guest, //用户名为guest,口令为passwordconnect_update_profile); //下次登录时重新连接//此时在windows资源管理器中可看到网络驱动器x:if messagedlg(are you sure to disconnect drive ?,mtconfirmation, [mbyes, mbno], 0) = mryes then //不管是否有文件打开,断开网络驱动器x: .netcancelconnection2( x:, connect_update_profile, true); end;end;本程序在delphi3.0,4.0、pwindows95、novell.netware 3.12下编译运行通过。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器