C#'Ta Ss Almak
-
Arkadaşlar yardımınıza ihtiyacım olacak.Yapmak istediğim C#'ta
rastgele aralıklarla belirli bir uygulamadan ss alan bir program.
Mesela şöyle, 3 dakikada mspaint.exe'den ilk ss'ini aldı diyelim.Bir dahaki ss'i 2 dakika sonra alıcak.
Yani yapmak istediğim belirli bir exe uygulamasının ss'ini almak ve rastgele zamanlarda ss almak.
Ek olarak bu ss'i jpeg formatında ss klasörüne kaydedicek.Zaman aralıkları minimum 2 dakika maksimum 4 dakika olmalı.
-
kod yardımım olamicak bu saatte ama mantık olarak anlatmak gerekirse
user32.dll i import et
bitmap sınıfına bak bunla aktif pencerenin ss sini alabilrisin
using System.Diagnostics; ekleyerek
Process[] myprocess= Process.GetProcessesByName("paint");
foreach (Process gettitle in myprocess)
{
yapılması gereken
}bunla program kontrolü yapabilirsin
bunları komple bi timer la kontrol ettirip timerın tickini istedigin süreye ayarlarsanda işlemin gerçekleşir sanırım
-
"15.12.2008 ~ Screen2Jpeg: A screenshot application" başlıklı konu. Source code'da vermiş müridimiz.
-
Bitmap bmpScreenShot = new Bitmap(screenWidth, screenHeight); Graphics gfx = Graphics.FromImage((Image)bmpScreenShot); gfx.CopyFromScreen(this.Location.X + 8, this.Location.Y + 30, 0, 0, new Size(screenWidth, screenHeight)); bmpScreenShot .Save(klasoradi + ".jpg", ImageFormat.Jpeg);ekranı kaydeder. fcn nin dediği gibi prosesin yerini al bununla kaydet
-
çentük
-
bizimde bir anticheat projemiz olabilir. Şimdi deneme imkanım yok ama mesala win7 veya vistada oyun içindeyken ekran görüntüsü almaya calısınca oyunun değilde direk masaüstünün resmini cekiyor veya siyah ekran resmi cekiyor. Verilen örneklerde o sorun mevcutmu
-
FCN bunu yazdı:
-----------------------------
kod yardımım olamicak bu saatte ama mantık olarak anlatmak gerekirse
user32.dll i import et
bitmap sınıfına bak bunla aktif pencerenin ss sini alabilrisin
using System.Diagnostics; ekleyerek
Process[] myprocess= Process.GetProcessesByName("paint");
foreach (Process gettitle in myprocess)
{
yapılması gereken
}bunla program kontrolü yapabilirsin
bunları komple bi timer la kontrol ettirip timerın tickini istedigin süreye ayarlarsanda işlemin gerçekleşir sanırım
-----------------------------o foreach ne :P
adıyla çağırıyorsun zaten 1 tane ya gelecek ya da hiç gelmeyecek
Process myprocess = Process.GetProcessesByName("mspaint")[0];
gibi
-
SharpShooter bunu yazdı:
-----------------------------
FCN bunu yazdı:
-----------------------------
kod yardımım olamicak bu saatte ama mantık olarak anlatmak gerekirse
user32.dll i import et
bitmap sınıfına bak bunla aktif pencerenin ss sini alabilrisin
using System.Diagnostics; ekleyerek
Process[] myprocess= Process.GetProcessesByName("paint");
foreach (Process gettitle in myprocess)
{
yapılması gereken
}bunla program kontrolü yapabilirsin
bunları komple bi timer la kontrol ettirip timerın tickini istedigin süreye ayarlarsanda işlemin gerçekleşir sanırım
-----------------------------o foreach ne :P
adıyla çağırıyorsun zaten 1 tane ya gelecek ya da hiç gelmeyecek
Process myprocess = Process.GetProcessesByName("mspaint")[0];
gibi
-----------------------------he tabiki mantıklı :D birazda meşguldum hemen başka bi projeden kopyaladımda kodu ondan öyle olmuş ama genel oalrak dogru :)
-
Genki bunu yazdı:
-----------------------------
bizimde bir anticheat projemiz olabilir. Şimdi deneme imkanım yok ama mesala win7 veya vistada oyun içindeyken ekran görüntüsü almaya calısınca oyunun değilde direk masaüstünün resmini cekiyor veya siyah ekran resmi cekiyor. Verilen örneklerde o sorun mevcutmu
-----------------------------adamım bu directdraw ile ilgili bir sorun muhtemelen.
-
sana tavsiyem ;
SS alan basit birkaç KB lik bir exe çıkarrt .
Exe ilk run ında ekli değil ise kendini WİN JOPS lara eklesin ;) sen süreyle uğraşma ;)
Yani jop a eklediği,n exe verdiğin aralıklarla WİNDOWS tarafından çalıştırılır ;)
anlatabil dim mi ?
