| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4449 人关注过本帖
标题:如何调用“刷新网络列表”?
取消只看楼主 加入收藏
theblur
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-8-29
收藏
 问题点数:0 回复次数:6 
如何调用“刷新网络列表”?
如何调用WinXP中“刷新网络列表”函数?我不知道到哪里去找这样的系统接口。我想编一个简单的程序,自动每隔一段时间刷新网络列表,XP的刷新频率太低,不能满足我的要求。
搜索更多相关主题的帖子: 网络 接口 频率 系统 WinXP 
2006-09-04 06:18
theblur
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-8-29
收藏
得分:0 
自己顶一下吧。我到MSDN里面去参考API列表,头晕得很,不知道怎么找。快帮我出出主意吧,哪位善于API的大虾!
2006-09-05 05:26
theblur
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-8-29
收藏
得分:0 
[IMG]http://i.6to23.com/theblur/Pictures/Image00000.bmp[/IMG]
如图是我的电脑抓图,我说的就是左上方的refresh network list,是不是翻译得不对啊?中文不是这么说?那个WLAN就是我用的网络,但路由器的功率太低,不刷新网络列表,网就会断,一刷新就能连接上。我想自编一个自动刷新的程序,但是不知道这个函数怎么调用。嗯,表达清楚了吗?
2006-09-06 03:36
theblur
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-8-29
收藏
得分:0 
如果这个窗口是当前窗口,F5就是刷新命令。能不能说得详细点呢?比如:
1。wireless network connection菜单的menu identifier是0xA220?
2。发送的内容,就是F5,怎么表示出来?const char *就可以吗?
3。如果一分钟刷新一次,用什么函数定时最省资源?
……
唉,能有实现的代码就好了,吼吼~~
其实功能不复杂,就是一个有两个按钮的对话窗,一个开始,一个停止。
2006-09-07 09:59
theblur
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-8-29
收藏
得分:0 
非常感谢,我将程序稍作变动,具体化了,但有错,请帮忙看看,环境VS2005:
-------------------------------
#include <windows.h>
#define timerID

HWND hWnd;

void CNetworkRefresherDlg::OnButtonStart()
{
this->SetTimer(hWnd,timerID, 60000, NULL); //Error 1
}

void CNetworkRefresherDlg::OnButtonStop()
{
KillTimer(hWnd,timerID); //Error 2
}

void CWnd::OnTimer(UINT nIDEvent)
{
CWnd * hWNCWnd = FindWindow(NULL, _T("Wireless Network Connection"));
SendMessage(hWNCWnd, WM_COMMAND, (WPARAM)0xA220, 0); //Error 3
}
---------------------------------
报错:
Error 1 error C2059: syntax error : ','
Error 2 error C2059: syntax error : ')'
Error 3 error C2660: 'CWnd::SendMessageW' : function does not take 4 arguments
---------------------------------
我对那个hWnd变量的使用还是不明白,它肯定有错误。谢谢!!

2006-09-07 22:01
theblur
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-8-29
收藏
得分:0 
不知道是不是按照你的意思改的……现在问题差不多:
---------------------------------
#include <windows.h>
#define timerID

HWND hWnd;

void CNetworkRefresherDlg::OnButtonStart()
{
::SetTimer(hWnd,timerID, 60000, NULL);           //error 1
}

void CNetworkRefresherDlg::OnButtonStop()
{
::KillTimer(hWnd,timerID); //error 2
}

void CWnd::OnTimer(UINT nIDEvent)
{
CWnd * hWNCWnd = FindWindow(NULL, _T("Wireless Network Connection"));
::SendMessage(hWNCWnd, WM_COMMAND, (WPARAM)0xA220, 0); //error 3
}
-----------------------------------------
报错:
Error 1 error C2059: syntax error : ','
Error 2 error C2059: syntax error : ')'
Error 3 error C2664: 'SendMessageW' : cannot convert parameter 1 from 'CWnd *' to 'HWND'
-----------------------------------------
或者您再说得具体些?

2006-09-08 03:27
theblur
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-8-29
收藏
得分:0 
编译通过了,但是没有刷新效果呢,虽然进程是有了,也有点CPU占用率。那个0xA220肯定是F5的意思吗?
2006-09-09 04:11
快速回复:如何调用“刷新网络列表”?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017910 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved