怎样解决在win98下 用WnetAddConnection2建立连接总是成功的问题! (100分)

  • 主题发起人 主题发起人 paf
  • 开始时间 开始时间
P

paf

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);
var
NetSource : TNetResource;
re:integer;
begin
with NetSource do
begin
dwScope:=2;
dwDisplayType:=2;
dwUsage:=10;
lpComment:=nil;
dwType := RESOURCETYPE_ANY;
lpLocalName :=pchar('');
lpRemoteName := pchar(//xx.xx.xx.xx/ipc$);
lpProvider := nil;
end;
Re:=WnetAddConnection2(NetSource,pchar('password'),pchar('user'),CONNECT_UPDATE_PROFILE);
form1.caption:=inttostr(re);

end;

-----------------------------------
用上面的代码,在win98下总是返回"0", 也就是建立 //xx.xx.xx.xx/ipc$ 成功!
用户名和密码改别的,也返回“0”,

现在我用 IPC$ 怎样才能判断是win98还是win2000啊!

 
我也不知道,因为这个函数在98下是不能指定用户名和密码,所以很麻烦。
 
我还知道一点就是
在win2000下先用
Re:=WnetAddConnection2(NetSource,pchar('password'),pchar('user'),CONNECT_UPDATE_PROFILE);

如果返回“0”时,再用别的用户名和密码建立IPC$时就会出错,出错号为:1219
大概是IPC$正在使用的意思,而在win98下,不管怎样改用户名和密码都是返回“0”
我知道这一点!
 
请帮忙 UP 多谢!
 
1219是提供的凭据和已有凭据不符。也就是已经有另外一个用户登陆了,但是你是否注意到如果用相同的用户和密码登陆多次是每次都成功的。
而在98下,这个函数好像是忽略了用户名和密码这两个参数,用户名始终是登陆本地98的那个用户,密码始终是空,所以每次实际上都是一样的。

这个问题困扰了我好久了,真不知道98的net use是怎么做的,居然可以指定密码。不过net.exe好像是16位程序。
 
又看了一下,98下的net.exe居然是16位DOS程序,不是Windows程序!
 
我注意在win2000下用相同的用户和密码登陆多次是每次都成功!

我UP
 
还是没人知道?
 
返回 1326 代表什么?
 
我搞不明白,98下不能IPC连接,这代码能连接??
 
2000以上才有这个协议好象
 
[错误号]: 1326 [说明]: 登录失败: 未知的用户名或错误密码

Re:wwwvw
你可以连接win98试试啊! 你试了之后你会相信,win98也可以IPC空连接的!

xscan 工具是可以和win98建立连接,还可以读出版本等信息!
 
98 可以??
你的意思是可以net use //127.0.0.1/ipc$ "pass" /user:"guest"
不会吧
我糊涂了
---
在我印象里,98上连用net use //127.0.0.1/ipc$ "pass" /user:"guest"
去连接2000都不行的
 
98下的IPC和2000下的意义有很大区别,虽然在形式上是一样的。如果你在98里用net命令,可以这样。
net use //ip/ipc$ password
可以制定密码,但是不能指定用户名。对方是2000或98都可以的。
但是用程序(WNetAddConnection2)就连密码也不能指定了,这就是楼主和我的问题。
 
re: wwwvw

在 98下是不可以用 net use //127.0.0.1/ipc$ "pass" /user:"guest"
但,不一定表示不能用 WnetAddConnection2
 
后退
顶部