Aklımda Kalası Kelimeler

* давайте работать вместе
* Zarf ve Mazruf, Zerafet(xHoyratlık) ile aynı kökten(za-ra-fe) gelir
* Bedesten
* Suç subuta ermiştir - Suç sabit olmuştur
Platform Invoke etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Platform Invoke etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

8 Aralık 2011 Perşembe

CSharp ile internet bağlantısı var mı yok mu kontrolü

Güzel bir P/Invoke kodu:
    public class InternetCS
    {
        //Creating the extern function...
        [DllImport("wininet.dll")]
        private extern static bool InternetGetConnectedState(out int Description, int ReservedValue);

        //Creating a function that uses the API function...
        public static bool IsConnectedToInternet()
        {
            int Desc;
            return InternetGetConnectedState(out Desc, 0);
        }
    }

Bu da ping atan kod:
static void checkInternetConnExists()
{
    try
    {
        Ping ping = new Ping();
        string sHost = "www.zuppa.com";
        string sResponse = "";
        PingReply pingreply = ping.Send(sHost);
        sResponse += "Address: " + pingreply.Address + "\n";
        sResponse += "Roundtrip Time: " + pingreply.RoundtripTime + "\n";
        sResponse += "TTL (Time To Live): " + pingreply.Options.Ttl + "\n";
        sResponse += "Buffer Size: " + pingreply.Buffer.Length.ToString() + "\n";
        Console.WriteLine(sResponse);
    }
    catch (Exception err)
    {
        Console.WriteLine(err.Message);
    }
}

14 Ekim 2007 Pazar

Platform Invoke nedir ? (Platform Invocation Services)

unmanaged olarak yazılmış fonksiyonların managed ortamda çağırılıp çalıştırılabilmesidir. yani .NET dilleri içinde unmanaged olarak yazılmış bir fonksiyonun çalıştırılabilmesi olayıdır. Tam adı Platform Invocation Services'tir fakat Platform Invoke olarak geçer, birçok yerde de P/Invoke denir. .NET'in yetersiz veya yavaş kaldığı yerlerde hızır gibi imdadımıza yetişir.


[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern int MessageBox(int hWnd, String text, String caption, uint type);


yukarıdaki kod örneği user32.dll içindeki MessageBox fonksiyonunu managed kodumuzda (örnekte C#) kullanabilmemizi sağlar.

Kullanımı:

MessageBox(0, "heey, bilişim kulübü, ben user32.dll içinden geliyorum",
"Yabancı ama tanıdık bi yüz", 0);


Aşağıdaki kod da VB.NET örneği

Declare Auto Function MessageBox Lib "user32.dll" (ByVal hWnd As Integer, ByVal txt As String, _
ByVal caption As String, ByVal Typ As Integer) As Integer



Kaynak: bilisim-kulubu.com