2013-10-17 33 views
5

WPF ve C# içinde bir masaüstü uygulamasına sahibim. Net 4.0 İstemci Çerçevede, Internet kullanılabilirse veya PC'de bulunmuyorsa, bazı verileri göstermek veya gizlemek zorundadır. Bu, internet bağlantısı kesilirse veya tepki vermek için bağlanırsa, mümkün olan en kısa zamanda tespit edebilmem gerekiyor. Ben bir olay her seferinde bağlantı değişiklikleri (link to docs) ateşler NetworkAvailabilityChanged denilen sınıfta NetworkChange bulunduğunu tespit biraz araştırılmış gibiİnternet bağlandığında veya bağlantısı kesildiğinde bildirim alın

(Örnek kablosuz ağ bağlantısını kesme olmak veya ağ kablosunu çıkarmadan olabilir).

Bir Windows 8 makinesinde geliştiriyorum ve bunu denediğimde, olay tetiklenmiyor, ancak uygulamayı Windows 7'de çalıştırdığımda olay tetikleniyor. Dokümanlarda olduğu gibi, bu olayın çerçeve 4.0 uyumluluğu ile olduğunu söyledi Windows 7'ye kadar, ancak aynı olaya baktığımızda belgelere çerçeve 4.5 uyumluluk için Windows 8 de diyor.

Sorun (fikir değil olan) 4,5'e projenin hedef çerçevesini geçiş bile olay

Ben herhangi uyumsuzluklar sorun var mı Windows 8 üzerine ateş alışkanlık olduğunu farkında değil misin? Bağlantı değiştiğinde bildirim almanın daha iyi bir yolu var mı?

Windows Vista, 7'de çalışmaktadır Çerçeve 4.0 istemci için çözüm ve 8

+0

http://stackoverflow.com/questions/1085045/check-whether-internet-connection-is-available-with-c-sharp/7536247#7536247 –

+0

Her iki makinedeki ağ bağdaştırıcısı durumunu kontrol edin. İkisi de bağlı olmayan bir durum olan tüm * ağ adaptörlerine sahip mi? –

cevap

1

@William Riley answe, bunu yapmanın yolunu bulmamda bana yardımcı oluyor.

Son olarak, Microsoft'un COM uygulaması aracılığıyla Windows API'den Ağ Listesi Yöneticisi'ni kullanarak noktaya geliyorum. , Gerçekten kısa ve doğrudan peki

enter image description here

sadece bağlantıdan örneği takip edebilirsiniz:

projeye doğru başvuru eklemek için önemlidir (bazı examples kontrol edebilirsiniz) puan.

+0

Yardım edebilirim. –

+0

Bağlantı öldü –

İlgili konular