| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4449 人关注过本帖
标题:如何调用“刷新网络列表”?
只看楼主 加入收藏
theblur
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-8-29
收藏
 问题点数:0 回复次数:12 
如何调用“刷新网络列表”?
如何调用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
yeshirow
Rank: 4
等 级:贵宾
威 望:10
帖 子:854
专家分:0
注 册:2006-6-8
收藏
得分:0 

怎麽才算是 "刷新" 網路列表啊.
關於 Network 的 API 在 MSDN 有兩大類: Network Management, Network DDE, 不知道你要使用哪些.


原來朋友仔感情再天真, 亦是我永遠也會愛惜的人, 明日愛他人, 也記住學會不要緊; 原來朋友比戀人更高分, 亦讓我開始懂得不記恨, 若大家都敏感, 我更要永遠記得拒絕再因小事怪人, 爲何沒有這條校訓...Twins-朋友仔 MCSD Training
2006-09-05 12:17
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
yeshirow
Rank: 4
等 级:贵宾
威 望:10
帖 子:854
专家分:0
注 册:2006-6-8
收藏
得分:0 

啊? 沒有 對 WAP 編過程式啊~~~(我是 wire 上網的).

不過有一個笨方法, 就是向那個窗口發送消息, 讓它去刷新. (不知道按 F5 是不是刷新的命令呢?)

如果按 F5 可以刷新, 就向那個窗口發送 WM_COMMAND 消息,
lParam 設置爲 0xA220,
wParam 爲 0
-------------------


原來朋友仔感情再天真, 亦是我永遠也會愛惜的人, 明日愛他人, 也記住學會不要緊; 原來朋友比戀人更高分, 亦讓我開始懂得不記恨, 若大家都敏感, 我更要永遠記得拒絕再因小事怪人, 爲何沒有這條校訓...Twins-朋友仔 MCSD Training
2006-09-06 11:37
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
yeshirow
Rank: 4
等 级:贵宾
威 望:10
帖 子:854
专家分:0
注 册:2006-6-8
收藏
得分:0 

我在 5 樓打錯了一點東西, 現在更正一下,
wParam 設置爲 0xA220,
lParam 設置爲 0
-------------------------------------
0xA220 是 Explorer 的一個菜單的 ID (刷新)
-------------------------------------
開始按鈕:
.......OnButtonStart()
{
this->SetTimer(timerID, 60, NULL);
}
停止按鈕:
......OnButtonStop()
{
KillTimer(timerID);
}
-----------------------
處理對話框的 OnTimer (WM_TIMER)
......OnTimer(UINT nIDEvent)
{
SendMessage(窗口handle, WM_COMMAND, (WPARAM)0xA220, 0);
}
---------------------------------
窗口的 handle 可以通過 FindWindow 函式取得
hWNCWnd = FindWindow(NULL, "Wireless Network Connection");


原來朋友仔感情再天真, 亦是我永遠也會愛惜的人, 明日愛他人, 也記住學會不要緊; 原來朋友比戀人更高分, 亦讓我開始懂得不記恨, 若大家都敏感, 我更要永遠記得拒絕再因小事怪人, 爲何沒有這條校訓...Twins-朋友仔 MCSD Training
2006-09-07 13:00
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
yeshirow
Rank: 4
等 级:贵宾
威 望:10
帖 子:854
专家分:0
注 册:2006-6-8
收藏
得分:0 
以下是引用theblur在2006-9-7 22:01:44的发言:
非常感谢,我将程序稍作变动,具体化了,但有错,请帮忙看看,环境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变量的使用还是不明白,它肯定有错误。谢谢!!

Error1: CWnd::SetTimer 多了一個引數 (因爲是使用 CWnd 的, 如果全局的 使用 ::SetTimer)

Error2: 同上, this->KillTimer

Error3: 同上, this->SendMessage 不應該使用 this 的, 使用全局的 ::SendMessage


原來朋友仔感情再天真, 亦是我永遠也會愛惜的人, 明日愛他人, 也記住學會不要緊; 原來朋友比戀人更高分, 亦讓我開始懂得不記恨, 若大家都敏感, 我更要永遠記得拒絕再因小事怪人, 爲何沒有這條校訓...Twins-朋友仔 MCSD Training
2006-09-07 23:06
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
快速回复:如何调用“刷新网络列表”?
数据加载中...
 
   



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

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