delphi 实现登陆局域网上的用户 ( 积分: 100 )

  • 主题发起人 主题发起人 zjdyb
  • 开始时间 开始时间
Z

zjdyb

Unregistered / Unconfirmed
GUEST, unregistred user!
局域网中访问另一台机子时要输入用户名和密码,现在我想用delph实现这个功能,这个登陆窗口不需要出现.因为我的客户端程序访问服务器时,有些机子不能直接连接,要先手动登陆一下机子(通过网上邻居访问),很麻烦,我现在想我程序实现.请高手指教
 
局域网中访问另一台机子时要输入用户名和密码,现在我想用delph实现这个功能,这个登陆窗口不需要出现.因为我的客户端程序访问服务器时,有些机子不能直接连接,要先手动登陆一下机子(通过网上邻居访问),很麻烦,我现在想我程序实现.请高手指教
 
必須知道服務器的登錄用戶和相應的登錄密碼才行.
var
NetResource: TNetResource;
Res: DWord;
begin
NetResource.dwType := RESOURCETYPE_ANY;
NetResource.lpLocalName := nil;
NetResource.lpRemoteName := PChar('//'+StrText);//服務器IP地址
NetResource.lpProvider := nil;
Res := WNetAddConnection2(NetResource,PChar(PassWord),PChar(UserName),CONNECT_UPDATE_PROFILE);
if Res <> NO_ERROR then
ShowMessage('Login failed!')
else
ShowMessage('Login success!');
end;
 
好象用服務器IP地址不行,用计算机名(nftc)可以.
先是用户名(administrator),再是密码吧(111111).程序如下:

var
NetResource: TNetResource;
Res: DWord;
begin

NetResource.dwType := RESOURCETYPE_ANY;
NetResource.lpLocalName := nil;
NetResource.lpRemoteName := PChar('//nftc');//计算机名
NetResource.lpProvider := nil;
Res := WNetAddConnection2(NetResource,PChar('administrator'),PChar('111111'),CONNECT_UPDATE_PROFILE);
if Res <> NO_ERROR then
ShowMessage('Login failed!')
else
ShowMessage('Login success!');
end;
这样程序是可以实现登陆,但每次开机第一次运行时提示[DBNMPNTW]ConnectionOpen(CreateFile())错误,但还能启动.以后再启动就没问题了.
 
var
NetResource: TNetResource;
Res: DWord;
begin

NetResource.dwType := RESOURCETYPE_ANY;
NetResource.lpLocalName := nil;
NetResource.lpRemoteName := PChar('//nftc');//计算机名
NetResource.lpProvider := nil;
Res := WNetAddConnection2(NetResource,PChar('111111'),PChar('administrator'),CONNECT_UPDATE_PROFILE);
if Res <> NO_ERROR then
ShowMessage('Login failed!')
else
ShowMessage('Login success!');
end;
 
多人接受答案了。
 
后退
顶部