如何用程序访问?(100分)

  • 主题发起人 主题发起人 康夫
  • 开始时间 开始时间

康夫

Unregistered / Unconfirmed
GUEST, unregistred user!
局域网上有一个共享的目录,访问时需要口令,通过“网上邻居”访问时可以通过
输入口令来访问,在程序中如何自动输入口令呢?
 
有这样的api把,但我记不起来了,
以前看过一本书,写得很详细,但我没买
可惜。或者你自己到windows.pas里面看看,看哪个
像就查查帮助看看,我就经常干这种是。
 
var
hr:integer;
nr:TNetResource;
begin
fillchar(nr,sizeof(nr),#0);
nr.lpRemoteName:='//myserver/myshare';
nr.dwScope:=RESOURCETYPE_ANY;
hr:=WNetAddConnection2(nr,'my pass word','my user name',CONNECT_UPDATE_PROFILE);
if hr>0 then exit; //error
end;

由于使用了CONNECT_UPDATE_PROFILE,因此以后在程序里访问,就不会有问题了。
不用时,可以WNetCancelConnection2('//myserver/myshare',CONNECT_UPDATE_PROFILE,true);
 
TNetResource 是个什么对象?哪里能找到说明?
 
为什么不给回音?明明早上还登录过嘛!
 
先谢谢大家了,我的意思是网上有一个目录,怎样才能只通过我的程序才能访问到它,而通过
其他的办法都无法访问(包括程序运行的时候)

To 温柔一刀: sorry, 我这两天上网只是匆匆浏览一下就跑了
 
//faint!
和原来的题目相差太远,下次把要求说清楚点,害得我像个灌水者。:-(

至于问题,没想到好办法,最多是打开文件之前连接,用后随时关闭。

如果我没猜错,你的原问题是想说让一个目录要访问必须输入口令,
然后在程序中完成输入口令的动作,从而实现访问,又不“泄密”。
但是你忽略了一个问题 -- 即使在explorer中,你输入口令之后,下一次再
点击此目录时,也不需要重新输入口令了,因为连接已经被建立。
因此恐怕只有用我前面说的WNetCancelConnection2,用完立即切断。

另:我对CONNECT_UPDATE_PROFILE解释有误,最好不用此选项。
 
接受答案了.
 
后退
顶部