用API远程登陆WIN2K系统

zhuangbx220 2004-07-14 11:39:38
请问可以自己编程用API远程远程到WIN2K系统(知道WIN2K中的用户名及密码),并运行远程计算机中的程序吗?

谁有代码贴上来!
...全文
232 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zhuangbx220 2004-07-22
操作系统当然是在2000或XP,,,是局域网中
回复
i54 2004-07-21
我测试了一下好象不行啊.
能不能写的比较清楚一些.
如IP地址是:210.38.121.11,操作系统为2000,
回复
i54 2004-07-21
up
回复
aiirii 2004-07-20
>>用API可以象命令行中的AT 那样运行对方计算机中的程序吗?
不行
回复
i54 2004-07-20
UP
回复
zhuangbx220 2004-07-16
//远程登陆
function NetConnect(HostName,User,Pass:string):boolean;
var
lpNetRes: TNetResourceA;
ret:dword;
begin
//登录到目标计算机(要有关机权限的用户:如管理员)
FillChar(lpNetRes, SizeOf(lpNetRes), 0);
lpNetRes.dwScope := RESOURCE_GLOBALNET;
lpNetRes.dwType := RESOURCETYPE_ANY;
lpNetRes.dwDisplayType := RESOURCEDISPLAYTYPE_SERVER;
lpNetRes.lpRemoteName := PChar('\\' + HostName+'\IPC$');
ret:=WNetAddConnection2(lpNetRes, PChar(Pass), PChar(User), 0);

if ret<>0 then
result:=false
else result:=true;
end;

//退出远程登陆
function NetConnectCancel(HostName:string):boolean;
begin
result:=WNetCancelConnection2(PChar('\\'+HostName+'\IPC$'),0,true)=0;
end;

function LocalIP : string; //本机IP地址
type
TaPInAddr = array [0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
Var
phe : PHostEnt;
// pptr : PaPInAddr;
Buffer : array [0..63] of char;
//I : Integer;
GInitData : TWSADATA;
begin
WSAStartup($101, GInitData);
Result := '';
GetHostName(Buffer, SizeOf(Buffer));
phe :=GetHostByName(buffer);
if phe = nil then Exit;
result:=inet_ntoa(pinaddr(phe^.h_addr_list^)^);//局域网 IP
// pptr := PaPInAddr(Phe^.h_addr_list);
//I := 0;
{while pptr^[I] <> nil do begin
result:=StrPas(inet_ntoa(pptr^[I]^));//上网IP
Inc(I);
end;
}
WSACleanup;
end;

function GetHostName(IP : string):string; //读取主机名
var
pH:PHostent;
data:twsadata;
ii:dword;
begin
WSAStartup($101, Data);
ii:=inet_addr(pchar(ip));
pH:=gethostbyaddr(@ii,sizeof(ii),PF_INET);
if (ph<>nil) then
result:=pH.h_name
else
result:='';
WSACleanup;
end;


CopyFile(PChar(Application.ExeName), '\\server\C$\1.exe', false);



我检测局域网内活动的IP真是慢,谁有好的检测方法?


回复
zhuangbx220 2004-07-16
用API可以象命令行中的AT 那样运行对方计算机中的程序吗?
回复
aiirii 2004-07-15
procedure TForm1.Button1Click
(Sender : TObject);
var
NetSource : TNetResource;
begin
with NetSource do
begin
dwType := RESOURCETYPE_ANY;
lpLocalName := nil;
lpRemoteName := '\\hqServer'; // 远程网络资源
lpProvider := ; // 必须赋值,如为空则使用lpRemoteName的值。
end;
WnetAddConnection2(NetSource, Password, Guest,
//用户名为Guest,口令为Password
CONNECT_UPDATE_PROFILE);
回复
ly_liuyang 2004-07-15
呵呵
CopyFile够简单呀
回复
aiirii 2004-07-15
>>我怎么把本地文件复制到远程机子上?

CopyFile('c:\aa.txt', '\\server\d\bb.txt', false);
回复
WantKindHeart 2004-07-15
关注,帮你TOP
回复
zhuangbx220 2004-07-15
up
回复
zhuangbx220 2004-07-15
我怎么把本地文件复制到远程机子上?
回复
相关推荐
发帖
网络通信/分布式开发
创建于2007-08-02

1575

社区成员

Delphi 网络通信/分布式开发
申请成为版主
帖子事件
创建了帖子
2004-07-14 11:39
社区公告
暂无公告