如何監視網卡的狀態(網線插拔等狀態)~~來者有分,哈哈


如何通過程序監視網卡的狀態,
比如說是:
網線插上了,網線拔掉了,dhcp獲取成功了,dhcp獲取失敗。

我不希望總是在不斷地讀取網卡的狀態,有沒有網卡相關的回調函數可用,
當網卡狀態發生變化的時候,能夠主動調用這個函數,我只要在回調函數
里邊處理相應的時間就可以啦~~~

13 个解决方案

#1


不會,幫頂!
可能要寫驅動才能做到。

#2


本帖最后由 oyljerry 於 2010-08-19 16:57:48 編輯
這個一般都是網卡驅動底層獲取,返回給Windows OS的,Windows不一定有提供專門的API給你做CallBack來回調通知你...

#3


有個取巧的辦法。
屏幕右下角有網線狀態的小圖標吧,截個圖觀察一下就行了。

#4


引用 3 樓 coldmooon 的回復:
有個取巧的辦法。
屏幕右下角有網線狀態的小圖標吧,截個圖觀察一下就行了。


我實在程序中獲取網卡的狀態啊~~~

#5


難度大哦,
估計涉及到驅動層了,

#6


不改驅動難度很大

#7


引用 5 樓 lijianli9 的回復:
難度大哦,
估計涉及到驅動層了,


正是因為難度大,才到這高手如雲的csdn來討教一番呢,哈哈

#8


可以用winpcap這個庫,我目前也在學,樓主可以了解下哦!~

#9


給個簡單的思路:
調用一個依靠網絡的API,阻塞模式的,一般情況下不返回;返回后根據錯誤判斷是不是網卡被禁用了。

#10


學習!!!!

#11


引用 9 樓 etherdream 的回復:
給個簡單的思路:
調用一個依靠網絡的API,阻塞模式的,一般情況下不返回;返回后根據錯誤判斷是不是網卡被禁用了。


恩,這個思路不錯,謝謝啦啊~~

#12


貌似很簡單;網線拔了,你socket獲取的ip就是127.0.0.1了,如果插上的話;一般獲取的ip就不是這個;
可以創建一個線程進行監視;

#13


引用 12 樓 apchy_apchy 的回復:
貌似很簡單;網線拔了,你socket獲取的ip就是127.0.0.1了,如果插上的話;一般獲取的ip就不是這個;
可以創建一個線程進行監視;


創建一個線程不斷地讀取網卡信息的確是可行的方法,不過我現在就是想通過回調函數也就是相當於消息的方式而處理這個問題,當網卡信息有變化的時候,回調函數就是被調用,我就可以做出相應的處理了~~

現在的問題是我不知道找哪個或者是哪些回調函數來出來這個問題~~

我總是覺得總是在讀網卡的信息,不是一個很上乘的問題解決方案,哈哈

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com