Merhaba sayın RealityCheats ailesi sizlere erkan görüntüsü (screenshot) alma programının yapımını göstereceğim.
İlk olarak form arayüzümüze bir adet PictureBox(pcSs) iki adet Button(btnKaydet, btnResimCek) ve bir adet Timer(tmr) ekleyelim. Ayrıca kullanmamız gereken bazı kütüphaneler var. Onlarda şunlar:
using System.IO;//Giriş-Çıkış işlemlerimiz için kullanacağız.
using System.Drawing.Imaging;//Resimlerimizi verimli kullanabilmemiz için gerekli kütüphane.


Şimdi ekranın resmini çekmemiz için gerekli kodlamaları yapalım. “Screen Shot Al” butonuna basıp _Click olayına gelelim.
İlk olarak form arayüzümüze bir adet PictureBox(pcSs) iki adet Button(btnKaydet, btnResimCek) ve bir adet Timer(tmr) ekleyelim. Ayrıca kullanmamız gereken bazı kütüphaneler var. Onlarda şunlar:
using System.IO;//Giriş-Çıkış işlemlerimiz için kullanacağız.
using System.Drawing.Imaging;//Resimlerimizi verimli kullanabilmemiz için gerekli kütüphane.

Şimdi ekranın resmini çekmemiz için gerekli kodlamaları yapalım. “Screen Shot Al” butonuna basıp _Click olayına gelelim.
C#:
private void btnResimCek_Click(object sender, EventArgs e)
{
tmr.Start();//Timer'ımızı başlattık.Özelliklerini aşağıda yazacağız.
this.WindowState = FormWindowState.Minimized;//Form Ekranını küçültelim.
System.Threading.Thread.Sleep(1000);//Programımızı bir saniyeliğine durduralım.
SendKeys.Send("{PRTSC}");//Uygulamayı PrintScreen tuşuna bastıralım
Image myimage = Clipboard.GetImage();//Çekilen Görüntüyü GetImage() yardımıyla 'myimage' taşıyalım
pcSs.Image = myimage;//taşıdığımız fotoğrafımızı ise programdaki resim kutumuza atalım.
this.WindowState = FormWindowState.Normal;//Ardından form ekranını normal boyuta getirelim.
}
tmr adlı Timer’ımızı başlattık. Özelliklerini yazmamız için ilk önce Form1_Load olayına gelelim.
C#:
private void Form1_Load(object sender, EventArgs e)
{
tmr.Interval = 1000;//Saniyede bir kere tmr_Tick olayını çalıştırır.
}
private void tmr_Tick(object sender, EventArgs e)
{
if (pcSs.Visible==true)//Eğer pcSs görünür ise
{
pcSs.Visible = false;//Görünürlüğü kapat.
}
else//Eğer pcSs görünür değil ise
{
pcSs.Visible = true;//Görünürlüğü aç.
}
}
Burada ise pcSs adlı pictureBox‘ımızı bir saniye açıp bir saniye kapalı göstermek için “Visible” özelliğini kullandık. Şimdi de çektiğimiz görüntüyü kaydetmek için btnKaydet adlı butona tıklayıp _Click olayına gerekli kodları yazıyoruz.
C#:
private void btnKydet_Click(object sender, EventArgs e)
{
Directory.CreateDirectory("C:\\Users\\keplerb\\Desktop\\ekranKaydet");//Masa üstüne Klasör oluşturduk.
pcSs.Image.Save("C:\\Users\\keplerb\\Desktop\\ekranKaydet\\ekranKaydet.jpg",ImageFormat.Jpeg);/* Görüntümüzü oluşturduğumuz klasöre jpg formatında kaydettik.*/
}
C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Drawing.Imaging;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnResimCek_Click(object sender, EventArgs e)
{
tmr.Start();
this.WindowState = FormWindowState.Minimized;//Form Ekranını küçültelim.
System.Threading.Thread.Sleep(1000);//Programımızı bir saniyeliğine durduralım.
SendKeys.Send("{PRTSC}");//Uygulamayı PrintScreen tuşuna bastıralım
Image myimage = Clipboard.GetImage();//Çekilen Görüntüyü GetImage() yardımıyla 'myimage' taşıyalım
pcSs.Image = myimage;//taşıdığımız fotoğrafımızı ise programdaki resim kutumuza atalım.
this.WindowState = FormWindowState.Normal;//Ardından form ekranını normal boyuta getirelim.
}
private void Form1_Load(object sender, EventArgs e)
{
tmr.Interval = 1000;//Saniyede bir kere tmr_Tick olayını çalıştırır.
}
private void tmr_Tick(object sender, EventArgs e)
{
if (pcSs.Visible==true)//Eğer pcSs görünür ise
{
pcSs.Visible = false;//Görünürlüğü kapat.
}
else//Eğer pcSs görünür değil ise
{
pcSs.Visible = true;//Görünürlüğü aç.
}
}
private void btnKydet_Click(object sender, EventArgs e)
{
Directory.CreateDirectory("C:\\Users\\keplerb\\Desktop\\ekranKaydet");
pcSs.Image.Save("C:\\Users\\keplerb\\Desktop\\ekranKaydet\\ekranKaydet.jpg",ImageFormat.Jpeg);
}
}
}
