怎么样用Delphi程序实现NT服务器登陆(200分)

  • 主题发起人 主题发起人 xxxxxxx
  • 开始时间 开始时间
X

xxxxxxx

Unregistered / Unconfirmed
GUEST, unregistred user!
比如我一开机器要登陆一台NT,我必须用鼠标去点那台机器,然后输入用户名,密码,
现在我想在软件里把这个功能加入进去,也就是说比人不知道密码,用户名,
事先没登陆服务器的情况下,通过软件可以登陆.
若用 logonuser()函数之类的请写明注解.
 
你可以使用WNet函数,下面的函数WNetAddConnection2是建立同服务器的连接,
包括共享资源的映射。
DWORD WNetAddConnection2(
LPNETRESOURCE lpNetResource, // connection details
LPCTSTR lpPassword, // password
LPCTSTR lpUsername, // user name
DWORD dwFlags // connection options
);
The WNetAddConnection2 function makes a connection to a network
resource. The function can redirect a local device to the
network resource.
注意:在9x和NT上该函数的lpPassword,lpUsername只能为空,在NT上你可以指定连接
的用户和密码。
 
typedef struct _NETRESOURCE {
DWORD dwScope; // = RESOURCE_GLOBALNET
DWORD dwType; // = RESOURCETYPE_ANY
DWORD dwDisplayType; // = RESOURCEDISPLAYTYPE_SERVER
DWORD dwUsage; // = RESOURCEUSAGE_CONNECTABLE
LPTSTR lpLocalName; // = NULL
LPTSTR lpRemoteName; // = //yourServerName
LPTSTR lpComment; // = NULL
LPTSTR lpProvider; // = NULL
} NETRESOURCE;
 
nt的我没做,但novell的我做了,这个程序用在我的代码中,你改一下试试?
function log:dword;
var
lpnr:tnetresource;
begin
lpnr.dwScope:=2;
lpnr.dwType:=0;
lpnr.dwDisplayType:=2;
lpnr.dwUsage:=10;
lpnr.lpRemoteName:='//library';//此处用你的机器名
lpnr.lpLocalName:=nil;
lpnr.lpComment:=nil;
lpnr.lpProvider:='NetWare';
result:=WNetAddConnection2(lpnr, // NETRESOURCE from enumeration
'backup_library',//password
'backup', //user
CONNECT_UPDATE_PROFILE);
end;
 
多人接受答案了。
 
后退
顶部