首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用API从我的应用程序监视RAS拨号连接

使用API从我的应用程序监视RAS拨号连接
EN

Stack Overflow用户
提问于 2012-07-24 13:31:32
回答 3查看 2.1K关注 0票数 1

我使用RASDIAL或RASPHONE exe创建了一个DialUp连接。我希望我的应用程序监视已建立的连接,如果连接断开,我的应用程序应该退出。如何通过编程来管理它?请推荐我..

EN

回答 3

Stack Overflow用户

发布于 2012-07-24 13:44:55

我建议您使用线程来定期检查连接的状态。

这可以使用rasapi32.dll中的RasEnumConnections来完成。此调用返回活动连接的列表,然后您可以迭代该列表,以检查您打开的连接是否在其中。

票数 1
EN

Stack Overflow用户

发布于 2012-07-25 01:03:48

用于接收有关RAS连接和断开的基于事件的通知的正确Win32应用编程接口是RasConnectionNotification。

这里有一个链接:http://msdn.microsoft.com/en-us/library/aa376726(VS.85).aspx

如果您在CodePlex上使用API,RasConnectionWatcher将使用上面提到的DotRas处理这些通知。

代码语言:javascript
复制
using DotRas;

RasConnectionWatcher watcher = new RasConnectionWatcher();
watcher.Connected += (sender, e) => 
    { 
        // Connected! 
    };
watcher.Disconnected += (sender, e) => 
    { 
        // Disconnected! 
    };

还可以通过设置handle属性来指定从RasDial返回的句柄,以接收特定于该句柄的事件。

代码语言:javascript
复制
watcher.Handle = handle;
watcher.EnableRaisingEvents = true;

如果你感兴趣,这里有一个到DotRas的链接:http://dotras.codeplex.com

编辑:我只想补充一点,如果您不指定DotRas或Win32 API的句柄,您将收到来自计算机上所有连接、断开连接和带宽添加/删除的事件。

票数 1
EN

Stack Overflow用户

发布于 2012-07-24 17:22:04

RadDial函数的lpvNotifier允许您传递一个RasDialFunc1,它将接收有关连接生存期的通知事件。(RasGetConnectStatus也可用于轮询)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11624690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档