• 27-12-2013, 10:55:45
    #1
    C# ile Bilgisayarda kurulu olan Vpn isimlerini comboboxa nasıl ekleyebilirim.
  • 27-12-2013, 11:12:13
    #2
    var vpn = NetworkInterface.GetAllNetworkInterfaces()
                              .First(x => x.Name == "VPNConnection");
    bunu bir dener misin. vpn değişkeni sana list şeklinde döner onu comboboxa ekleyebilirsin...
  • 27-12-2013, 11:32:12
    #3
    Denedim hata şu ;

    Sıra, eşleşen öğe içermiyor


    hatası alıyorum.
  • 27-12-2013, 13:19:23
    #4
    Merhaba,

    Araştırdığım ve gördüğüm kadarıyla, direkt olarak .Net framework üzerinden Windows işletim sistemi üzerinde mevcut herhangi bir sanal özel ağ(vpn) bağlantısını uygulama üzerinde görebilmek için o bağlantının çevrimiçi olması gerekiyor, aksi takdirde bu bağlantı görünmüyor.

    Çevrimiçi olan sanal öz ağ bağdaştırıcısı ile ilgili şu kodlar ile biraz bilgi edinebilirsiniz;

    NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
    
                foreach (NetworkInterface block in nics)
                {
                    if (block.NetworkInterfaceType == NetworkInterfaceType.Ppp && block.OperationalStatus == OperationalStatus.Up)
                    {
                        IPv4InterfaceStatistics ipv4 = block.GetIPv4Statistics();
    
                        IPInterfaceProperties prop = block.GetIPProperties();
    
                        foreach (UnicastIPAddressInformation uni in prop.UnicastAddresses)
                        {
                            MessageBox.Show("Vpn connection name:" + " " + block.Name + "\n" + "Local IP Address:" + uni.Address.ToString() + "\n" + "Bytes Received:" + " " + ipv4.BytesReceived.ToString() + "\n" + "Bytes Sent:" + " " + ipv4.BytesSent.ToString());
                        }
                    }
                }
    Bunun dışında, kendi vpn uygulamanızı yazmak isterseniz DotRas adlı kütüphaneyi incelemenizi öneriyorum;

    http://dotras.codeplex.com/

    Teşekkürler.
  • 27-12-2013, 13:34:36
    #5
    anx adlı üyeden alıntı: mesajı görüntüle
    Merhaba,

    Araştırdığım ve gördüğüm kadarıyla, direkt olarak .Net framework üzerinden Windows işletim sistemi üzerinde mevcut herhangi bir sanal özel ağ(vpn) bağlantısını uygulama üzerinde görebilmek için o bağlantının çevrimiçi olması gerekiyor, aksi takdirde bu bağlantı görünmüyor.

    Çevrimiçi olan sanal öz ağ bağdaştırıcısı ile ilgili şu kodlar ile biraz bilgi edinebilirsiniz;

    NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
    
                foreach (NetworkInterface block in nics)
                {
                    if (block.NetworkInterfaceType == NetworkInterfaceType.Ppp && block.OperationalStatus == OperationalStatus.Up)
                    {
                        IPv4InterfaceStatistics ipv4 = block.GetIPv4Statistics();
    
                        IPInterfaceProperties prop = block.GetIPProperties();
    
                        foreach (UnicastIPAddressInformation uni in prop.UnicastAddresses)
                        {
                            MessageBox.Show("Vpn connection name:" + " " + block.Name + "\n" + "Local IP Address:" + uni.Address.ToString() + "\n" + "Bytes Received:" + " " + ipv4.BytesReceived.ToString() + "\n" + "Bytes Sent:" + " " + ipv4.BytesSent.ToString());
                        }
                    }
                }
    Bunun dışında, kendi vpn uygulamanızı yazmak isterseniz DotRas adlı kütüphaneyi incelemenizi öneriyorum;

    http://dotras.codeplex.com/

    Teşekkürler.
    Yazdığınız kod çalışıyor fakat sadece bağlı olan vpn hakkında bilgi veriyor. Ama benim bağlı olanlar veya olmayanlar tüm listeyi almam gerek. Sanırım .net bu iş için uygun değil sanırım. Dotras ile sadece vpn isimlerini nasıl alabilirim ?
  • 27-12-2013, 13:51:00
    #6
    Maalesef DotRas ile de sadece DotRas aracılığı ile yaratılmış olan vpn isimlerini alabiliyorsunuz.

    RasPhoneBookDialog dia = new RasPhoneBookDialog();
                dia.ShowDialog();
    kodları ile mevcut bağlantı isimlerini görebiliyorsunuz, yalnız, bu komut da direkt olarak rasphone.exe uygulamasını çalıştırıyor.
  • 27-12-2013, 14:13:35
    #7
    dotras ile yaratılmış isimleri nasıl alabilirim. bağlı olan ve bağlı olmayanları ?
  • 27-12-2013, 14:26:31
    #8
    // Rehberi açar, yeni bir giriş oluşturur ve onu rehbere kayıt eder.
    
    RasPhoneBook pb = new RasPhoneBook();
                   pb.Open(RasPhoneBook.GetPhoneBookPath(RasPhoneBookType.AllUsers));
    
    RasEntry entry = RasEntry.CreateVpnEntry("eheh", "192.168.1.1", RasVpnStrategy.PptpOnly,RasDevice.GetDeviceByName("pptp",RasDeviceType.Vpn));
    pb.Entries.Add(entry);
                
    // Rehberde kayıtlı olan girişlerin isimlerini alır.
    
                foreach (RasEntry block in pb.Entries)
                {
                    MessageBox.Show(block.Name);
                }
  • 27-12-2013, 14:35:05
    #9
    Yeni kurulanın ismini veriyor, hepsinin değil. Galiba vazgeç ecem çünkü dotras bile yetersiz kalıyor. rasphone.exe neymiş be