2009-04-03 10 views
5

Kullanıcıların, uygulamasındaki mevcut ekranı yakalamalarına ve e-posta ile göndermelerine olanak tanımak istiyorum. Çok teknik olmayan bir kullanıcı tabanım var, bu yüzden olabildiğince basit olmak için buna ihtiyacım var. Bana Yardım Et adlı bir menü maddesini tıklatmayı planlıyorum! daha sonra mevcut Uygulama Ekranını, umarım bir jpg veya png olarak yakalar ve Outlook'u açar ve ek olarak görüntü ekler.Geçerli ekranı bir görüntü olarak nasıl kaydederim?

Code Project'teki bu yazıyı ScreenCapture üzerinden okuyordum ama biraz eski ve tam aradığım şey değil, bu yüzden bunu yapmanın daha iyi bir yolu olup olmadığını kontrol edeceğimi düşündüm.

Buna nasıl başlarım? Bir kütüphane var mı yoksa yeterince yetenekli mi?

Teşekkürler!

cevap

12

Graphics.CopyFromScreen'u kullanmak istersiniz.

Rectangle bounds = this.Bounds; 

using(Bitmap ss = new Bitmap(bounds.Width, bounds.Height)) 
using(Graphics g = Graphics.FromImage(ss)) 
{ 
    g.CopyFromScreen(this.Location, Point.Empty, bounds.Size); 
    ss.Save("test.jpg", ImageFormat.Jpeg); 
} 
+0

küçük yazım hatası -> Çizgi 4 -> Graphics.FromImage (ss)) Parlak! –

+0

@Mr_Mom: Teşekkürler, düzeltildi. – Samuel

3

Graphics.CopyFromScreen yöntemini kontrol edin. Bağlantınız olan bu gönderi doğru bir yaklaşımdır, sadece çok karmaşık bir hale getirdiler.