开机启动无法访问网络,等几分钟后正常。

老子天下 2017-11-30 11:13:38
最近在做一个项目,软件内嵌入webbrowser,显示网页,后台线程有chttpfile进行服务器心跳检测。软件正常使用,并设置为开机启动。

现在发现问题,在使用2个月后逐渐出现,开机时webborwser很久才能打开网页,chttpfile也是一样,打开时间随着天数越来越久,现在开机启动时打开需要10多分钟之久。
在能够打开之后,就正常了,退出软件再启动也正常。
就是每次开机启动要等一段时间webbrowser和chttpfile才能正常访问网络,而且等待时间随着天数越来越长。但是出现问题时,浏览器能正常打开网页,PING网络也一切正常。

开机时检查发现,taskhost.exe进程开机时cpu占用偏高,当taskhost.exe占用为0后,就能正常访问网络。如果直接杀死taskhost.exe依然要等很久才能正常访问网络。杀死taskhost.exe后,又会出现dllhost.exe占用cpu高的现象。
在网络上找禁止taskhost的方法都试过了。都禁用了,问题依旧。
试过了杀毒,杀木马都没有找到异常,而且问题依旧。

网络上已经找遍了,没有遇到有相同问题的人,希望这里有人做过类似项目,遇到此类问题。

操作系统win7和win8都试过,都是这样。taskhost和dllhost占用高,是不是windows系统的com支持出现了问题,还是windows的系统漏洞。
...全文
621 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
danscort2000 2017-12-06
  • 打赏
  • 举报
回复
1 windows后台的自动更新会造成这种情况,解决办法是关闭后台的自动更新 2 设置webbrowser里的本地cache为关闭,如果有的话 一般设置完这两个,就不会存在你说的问题了
老子天下 2017-12-05
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
应该不是,主要是开机的时候,系统会有很多服务开始做初始化动作,所以你的程序应该稍微等系统启动一段实践后延时
谢谢版主的回复,我仔细观察过,并不是系统初始化造成的,因为直接用IE浏览器等都可以访问网页。但是用WEBBROWSER控件和CHTTP协议的编程就打不开。估计是COM造成的系统问题。 而且随着时间推移越来越慢。刚装系统几十秒,用一个月后要几分钟,甚至十几分钟,才能正常访问。
引用 2 楼 schlafenhamster 的回复:
程序中 加个 延时 定时器,或 先sleep 一段时间。
这个不现实
老子天下 2017-12-05
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
应该不是,主要是开机的时候,系统会有很多服务开始做初始化动作,所以你的程序应该稍微等系统启动一段实践后延时
谢谢版主的回复,我仔细观察过,并不是系统初始化造成的,因为直接用IE浏览器等都可以访问网页。但是用WEBBROWSER控件和CHTTP协议的编程就打不开。估计是COM造成的系统问题。 而且随着时间推移越来越慢。刚装系统几十秒,用一个月后要几分钟,甚至十几分钟,才能正常访问。
赵4老师 2017-12-05
  • 打赏
  • 举报
回复
WIndows正在更新中……
schlafenhamster 2017-11-30
  • 打赏
  • 举报
回复
程序中 加个 延时 定时器,或 先sleep 一段时间。
oyljerry 2017-11-30
  • 打赏
  • 举报
回复
应该不是,主要是开机的时候,系统会有很多服务开始做初始化动作,所以你的程序应该稍微等系统启动一段实践后延时

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧