22 Ocak 2011 Cumartesi

csharp, c# ile ip adresini alma (yerel ve dış ip)



csharp kullanarak pc ye ait local ip adresini aynı zamanda herhangi bir bağlantı aracaılığıyla dış ip adresini alabiliriz örnek kod:

-----------------a
string WanIP;
WanIP = new System.Net.WebClient().DownloadString(("http://www.whatismyip.com/automation/n09230945.asp"));

şimdi buradaki mantık www.whatismyip.com adresinden sizin ip nizi döndürüyor.
bunu farklı alternatifler kullanarak değiştirip zenginleştrebilirsiniz.

--------------------------------
local ip için ise

----------------------------------
string strHostName = "";
strHostName = System.Net.Dns.GetHostName();
IPHostEntry ipEntry = System.Net.Dns.GetHostEntry(strHostName);
IPAddress[] addr = ipEntry.AddressList;
return addr[addr.Length - 1].ToString();
-----------------------------------------------------
bu şekilde kullanabilirsiniz

Csharp, c# ile email göndermek ekli


csharp da email gönderme ile ilgili örnek bir yöndemden bahsedeceğim
birden fazla adrese email göndermek emailimize ek dosya eklemek portları kullanmak vs.

öncelikle projemize

using System.Net;
using System.Net.Mail;


refaransları ekliyoruz..

daha sonra:

------------------------

label2.Text = "Gönderme İşlemi Başladı";
SmtpClient client = new SmtpClient("mail.efabilisim.com", a);
label2.Text = "Port Kontrol Ediliyor";
client.Credentials = new NetworkCredential("netsimdestek@efabilisim.com", "****");
label2.Text = "Kullanıcı bilgileri Kontrol Ediliyor";
using (MailMessage msg = new MailMessage())
{
msg.From = new MailAddress("teksnikservis@efabilisim.com");
msg.Subject = textboxkonu.Text + " Bilgisayarın Local İp Adresi= " + GetIP() + " Dış İp Adresi = " + WanIP;

msg.Body = emailtext.Text + textBox1.Text;


msg.Attachments.Add(new Attachment("C:\\Hata-Bilgi.jpg", "application/octet-stream"));

msg.To.Add(new MailAddress("seref@efabilisim.com"));
msg.To.Add(new MailAddress("hakan@efabilisim.com"));
msg.To.Add(new MailAddress("erkan@efabilisim.com"));
msg.To.Add(new MailAddress("destek@efabilisim.com"));
msg.To.Add(new MailAddress("ferhat@efabilisim.com"));
// msg.To.Add(new MailAddress("ahmet@efabilisim.com"));
msg.To.Add(new MailAddress("yakup@efabilisim.com"));
msg.To.Add(new MailAddress("fedat@efabilisim.com"));
label2.Text = "Ekran Görüntüsü email e ekleniyor";
client.Send(msg);
label2.Text = "Mesaj Gönderildi";
//MessageBox.Show("Mesajınız Başarı ile Gönderilmiştir.");
MessageBox.Show("Mesajınız ilgili birmlere başarı ile gönderilmiş. En Kısa Zamanda Yanıtlanacaktır.");
}


}
}
catch (Exception EX)
{
MessageBox.Show("Hata!! Email Gitmedi Muhtemel Nedenii = ... " + EX.Message.ToString() + " Lütfen Hatayı giderip tekrar deneyin" + " Efa Bilişim Yazılım 2011c");
}
}


bukadar basit
:))

Pc Ekran Görüntüsünü Alıp Kaydetmek (Print Screen)


Herşey Bir Son kullanıcın talebiyle başladı
Çalan telefonda yazılımımızı kullanan kullanıcı

aynen şöyle dedi:

"sorunumu ifade etmekte güçlük çekiyorum ekran görüntüsünü kaydettirip painte düzenleyip outlooktan size göndermek istemiyorum . ayrıca bana sorduğunuz hata ile ilgili sorulara cevap vermekte güçlük çekiyorum" buna bir çare bulsanız bir yazılım yapasanız

bende koyuldum işe program sistemin arkasında çalışmalıydı ve hata meydana geldiğinde ekran görüntüsünü alıp bir form açmalıydı bu formda hata ile ilgili detayları talepleri yazıp gönder dediğinde bizlerin email adresine gelmedliydi. vs.........

şimdi bbaşlayalım işe

ekran görntüsünü almak için gerekn kodumuz:
---------------------------------------------------


int screenWidth = Screen.GetBounds(new Point(0, 0)).Width;
int screenHeight = Screen.GetBounds(new Point(0, 0)).Height;
Bitmap bmpScreenShot = new Bitmap(screenWidth, screenHeight);
Graphics gfx = Graphics.FromImage((Image)bmpScreenShot);
gfx.CopyFromScreen(0, 0, 0, 0, new Size(screenWidth, screenHeight));
bmpScreenShot.Save("d:\\Hata-Bilgi.jpg", ImageFormat.Jpeg);


WindowState = FormWindowState.Minimized;
if (FormWindowState.Minimized == WindowState)
Hide();
---------------------------------------------------------------------
email göndermek diğer konuda