如何检测"本地连接"是否完成初始化? ( 积分: 100 )

  • 主题发起人 主题发起人 lecon
  • 开始时间 开始时间
L

lecon

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了个程序,有一段程序是在WINDOWS启动后马上从指定的内网服务器的共享目录复制一个很小的配置文件到本地.我的程序有时能复制,有时不行.据我观察,TCP/IP在系统启动后就可以用.
但复制共享目录的文件需要WINDOWS网络客户端初始化完成,
否则像CopyFile('C:/config.txt','//192.168.0.1/config/config.txt',false)函数将会失败.
所以想问问大侠们能否有精确的办法知道什么时候能从服务器的共享目录复制文件.
谢谢
 
也可以采用延时后,再执行你的程序。
 
先判断文件存在后再复制,否则延时等待。if FileExist() then
 

dwTimeBegin:=GetTickCount;
repeat
bDownloaded:=CopyFile('C:/config.txt','//192.168.0.1/config/config.txt',false);
application.processmessage;//********
until bDownloaded or (GetTickCount-dwTimeBegin>10000);
这种?
我试过,进程CPU占用率非常高,如果把//********那里换成Sleep(50)可能会好些,但仍然不是准确的办法.我希望程序对系统启动速度影响尽量小,能否有更好的办法?后天结帖了[:D]
 
可以先Ping一下,通了再拷贝,否则延时
 
还是做了延时处理,优化了一下,效果还不错,谢了[:)]
 
后退
顶部