Arşiv Anasayfa Visual Basic
Sayfalar: 1
Ekran Görüntüsü Yakalama By: By.TuRuT Date: August 11, 2009, 01:35:30 AM
'Açıklama:
'PrintScreen tuşu ile ekran görüntüsü panoya aktarılır.Bizim programımız ise
'bir timer yardımı ile panoda bir resim olup olmadığını kontrol edecek ve eğer bir resim
'varsa bunu kaydedecek.Biz timerı aktif hale getirip programı arka planda çalıştırdığımızda
'PrintScreen tuşuna basınca resim picture1'e alınacak daha sonra kaydedilecek ve ardından
'pano temizlenecek.Ancak dosya isimlerinde problem çıkmaması için programımız çalışmaya
'başladığı andan itibaren başka bir timer aracılığı ile bir textbox sürekli sayı olarak artacak
've dosya ismine bu sayı da eklenecek.Ve böylece programımız aktif iken biz PrintScreen
'yapıp resim alınca porgramımız bunu kaydedecek.

'Program için:
'2 Timer (birincisi ile panoyu kontrol edeceğiz.Bunu intervali 500 ayarlayın.böylece saniyede iki resim çekebiliriz.)
'(birincisinin aktifliğini 2 CommandButton ile kontrol edelim ve başlangıçta False olsun.)
'(ikincisi dosya isminde problem çıkmaması için text1'i sayısal olarak arttıracak
'(ikincisinin de interval=500 yapalım ve enabled=True olsun.)
'2 CommandButton ve 1 PictureBox
'1 textbox ancak text özelliğini 0 yapmayı unutmayın

'Not:ALT-PrintScreen kombinasyonu ile sadece aktif programın ekran görüntüsü alınabilir.
'Sendkeys ile printscreen komutu gönderilmiyor yani en azından böyle bir program yapılmıyor.

Private Sub Command1_Click() 'ekran görüntü yakalayıcıyı açmak için
Timer1.Enabled = True

End Sub

Private Sub Command2_Click() 'ekran görüntü yakalayıcıyı kapatmak için
Timer1.Enabled = False

End Sub

Private Sub Form_Load()
Text1.Text = "0" 'text'i sıfırladık
End Sub

Private Sub Timer1_Timer() 'burada clipboard(pano)'u izlemeye alıyoruz.Eğer clipboardda
'bmp türünde bir veri varsa bunu picture1'e aktaracağız.Daha sonra kaydedeceğiz.

If Clipboard.GetFormat(vbCFBitmap) Then 'bmp ise

Picture1.Picture = Clipboard.GetData 'panodan resimi al picture1de göster

Call SavePicture(Picture1.Picture, App.Path & "\" & "captured" & Text1.Text & ".bmp")
'üstteki satırda resmi kaydediyoruz ancak bu işlem hızlı olduğu içib dosya ismi + bir sayı kullanıyoruz

Clipboard.Clear 'panoyu temizliyoruz


End If
End Sub

Private Sub Timer2_Timer() 'bu ise sürekli text1deki sayıyı arttırıyor.
Text1.Text = Text1.Text + 1
End Sub

Ynt: Ekran Görüntüsü Yakalama By: melek_03 Date: May 04, 2010, 02:36:14 PM
Bilgi için Teşekkür ettim..

SiteMap - İmode - Wap2