我使用RASDIAL或RASPHONE exe創建了撥號連接。我希望我的應用程序監視已建立的連接,如果連接斷開,我的應用程序應該退出。如何以編程方式管理?請建議我..使用API監視來自我的應用程序的RAS撥號連接
0
A
回答
1
我建議你使用一個線程來定期檢查連接的狀態。
這可以使用rasapi32.dll中的RasEnumConnections來完成。此調用返回活動連接列表,然後您可以迭代該列表來檢查您打開的連接是否在其中。
0
lpvNotifier
RadDial
函數允許您傳遞一個RasDialFunc1
,它將接收有關連接生命週期的通知事件。 (RasGetConnectStatus
也可用於輪詢)
1
正確的Win32 API用於接收有關RAS連接和斷開連接的基於事件的通知是RasConnectionNotification。
這裏有一個鏈接:http://msdn.microsoft.com/en-us/library/aa376726(VS.85).aspx
如果您正在使用CodePlex上的DotRas SDK的RasConnectionWatcher處理使用上述API這些通知。
using DotRas;
RasConnectionWatcher watcher = new RasConnectionWatcher();
watcher.Connected += (sender, e) =>
{
// Connected!
};
watcher.Disconnected += (sender, e) =>
{
// Disconnected!
};
您還可以指定一個手柄從RASDIAL返回通過設置Handle屬性得到具體到處理事件。
watcher.Handle = handle;
watcher.EnableRaisingEvents = true;
下面是DotRas一個鏈接,如果你有興趣:http://dotras.codeplex.com
編輯:我只是想補充一點,如果你不指定一個句柄要麼DotRas或Win32 API的,你會接收來自所有連接的事件,斷開連接以及機器上添加/刪除的帶寬。
相關問題
- 1. 監視Windows 8應用程序連接
- 2. 從WinCE設備撥號RAS
- 3. 使用vb6撥號連接
- 4. 撥號連接使用SIM900
- 5. 只接受來自我的應用程序的連接
- 6. 使用性能監視器來監視池的連接
- 7. 驗證網絡連接是否來自我的應用程序
- 8. 在Windows CE 6.0中使用opennetcf Ras創建持久RAS連接
- 9. 使用.Net來監控應用程序
- 10. 用於撥號連接的端口
- 11. 使用VOIP應用程序代替電話撥號程序
- 12. 將心率監視器連接到Windows PC Java應用程序
- 13. 應用程序監視WinServices
- 14. Java應用程序監視
- 15. 監視DLL的應用程序調用
- 16. 監視應用程序的用電量
- 17. 如何Android的撥號鍵盤在我的應用程序
- 18. 如何監視Windows API對應用程序/服務的調用?
- 19. Android撥號器應用程序
- 20. MySQL連接監視器從PHP應用
- 21. 使用來自Cobol程序的Java API
- 22. 發出並連接來自另一個應用程序的信號
- 23. 在我的應用程序中顯示撥號鍵盤inputType = number?
- 24. 從我的應用程序中打開撥號器
- 25. 觀察或監視使用應用程序的用戶遠程
- 26. Android應用程序中的每個應用程序的監視功耗使用
- 27. 如何增加來自c#應用程序的mysql連接的連接超時?
- 28. Facebook連接我的PHP應用程序
感謝您的建議安德烈亞斯。 +1。任何其他可能的解決方案都是爲了創建一個線程嗎?這是更有效的像registerdevicenotification它通知窗口設備刪除?任何APIS都可以爲RASDIAL工作。 – 2vision2 2012-07-24 06:04:48