CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  非技术区

怎样记住网上邻居的访问密码?

楼主lxfbob(周不三)2004-12-03 09:50:43 在 Delphi / 非技术区 提问

在delphi中通过网上邻居传输文件时,怎样自动进行用户、密码验证? 问题点数:20、回复次数:2Top

1 楼anbeel(吃不到葡萄,也不说葡萄酸)回复于 2004-12-03 11:34:00 得分 20

zt:  
   
  用Delphi   映   射   和  
  断   开   网   络   驱   动   器    
  海   通   证   券   有   限   公   司  
  电   脑   部(200080)--须   任   荣  
   
  --------------------------------------------------------------------------------  
   
  ----不   少   用   户   在   运   用Delphi   编   写   网   络   应   用   程   序   时   可   能   会   遇   到   这   样   一   个   问   题:   在   一   个   由Windows   NT   和Novell   Netware   组   成   的   网   络   环   境   中,   应   用   程   序   需   要   使   用Novell   网   上   的   某   些   数   据,   如   果   每   次   都   手   工   在Windows   资   源   管   理   器   中   映   射、   断   开   网   络   驱   动   器,   不   仅   繁   琐   而   且   显   得   不   够   专   业。   本   文   将   介   绍   在Delphi   中   使   用Windows32   API   函   数   解   决   这   一   问   题   的   方   法。    
   
  基   本   原   理  
   
  ----在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;  
   
  ----本   程   序   在Delphi4.0、PWindows95、Novell   Netware   3.12   下   编   译   运   行   通   过。Top

2 楼lxfbob(周不三)回复于 2004-12-03 14:10:03 得分 0

非常感谢!!!Top

相关问题

  • 如何模拟输入用户名、密码来访问网络邻居?
  • 在win2000server中访问网上邻居时,点击"保存密码",怎么把这密码给清除掉呀??
  • 如何去掉xp访问其他机器记住密码的功能!
  • 求救。装windows2000server后,从别的WIN98机上用‘网上邻居‘访问,要IPC$密码???
  • 如何用程序实现传送用户名密码-访问网上邻居的机器
  • 在windows2000中如何模拟输入用户名、密码来访问网络邻居?(100分)
  • ***********怎么样在程序中访问网上邻居中的共享文件夹(已经知道密码)*************
  • 为什么用户名与密码都正确, 确无法访问网上邻居的电脑???????
  • WINDOWSxp 在网上邻居访问时点了"保存我的密码",如何删除,重新每次录入密码
  • 关于访问其他计算机时,选择了“记住我的密码”后,切换用户的问题。

关键词

  • novell
  • delphi
  • wnetaddconnection
  • 资源
  • 函数
  • wnetcancelconnection
  • 程序
  • 程资源
  • lpremotename
  • netsource

得分解答快速导航

  • 帖主:lxfbob
  • anbeel

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo