folder Tahribat.com Forumları
linefolder Yazılımlar / Diğer Programlar
linefolder Böyle Bir İşlemi Nasıl Yaparım ?



Böyle Bir İşlemi Nasıl Yaparım ?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    BurakMakar
    BurakMakar's avatar
    Kayıt Tarihi: 27/Mart/2011
    Erkek

    Selamün Aleyküm :

     

    Bi ara yapmıştım ama tam olarak programı hatırlamıyorum..

     

    İŞLEM : Belirtilen Dakika'da Bir Ekranın Resmini Çekicek.. Misal 5 Dakikada Bir Ekranın Resmini Çek Ve " D:/Resimler " Klasör'üne kayıt et.

     

    Bukadar :) Araştırmalarım sonucunda bulamadım , ilginiz için teşekkürler.

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    BurakMakar
    BurakMakar's avatar
    Kayıt Tarihi: 27/Mart/2011
    Erkek

    küçük bişi arkadaşlar?

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    renegadealien
    renegadealien's avatar
    Üstün Hizmet Madalyası Savaş Madalyası Başarı Madalyası Üstün Hizmet Madalyası Developer Madalyası
    Kayıt Tarihi: 23/Mart/2003
    Erkek

     

    using System;
    using System.Runtime.InteropServices;
    using System.Drawing;
    using System.Drawing.Imaging;
    namespace ScreenShotDemo
    {
        /// <summary>
        /// Provides functions to capture the entire screen, or a particular window, and save it to a file.
        /// </summary>
        public class ScreenCapture
        {
            /// <summary>
            /// Creates an Image object containing a screen shot of the entire desktop
            /// </summary>
            /// <returns></returns>
            public Image CaptureScreen()
            {
                return CaptureWindow(User32.GetDesktopWindow());
            }
            /// <summary>
            /// Creates an Image object containing a screen shot of a specific window
            /// </summary>
            /// <param name="handle">The handle to the window. (In windows forms, this is obtained by the Handle property)</param>
            /// <returns></returns>
            public Image CaptureWindow(IntPtr handle)
            {
                // get te hDC of the target window
                IntPtr hdcSrc = User32.GetWindowDC(handle);
                // get the size
                User32.RECT windowRect = new User32.RECT();
                User32.GetWindowRect(handle, ref windowRect);
                int width = windowRect.right - windowRect.left;
                int height = windowRect.bottom - windowRect.top;
                // create a device context we can copy to
                IntPtr hdcDest = GDI32.CreateCompatibleDC(hdcSrc);
                // create a bitmap we can copy it to,
                // using GetDeviceCaps to get the width/height
                IntPtr hBitmap = GDI32.CreateCompatibleBitmap(hdcSrc, width, height);
                // select the bitmap object
                IntPtr hOld = GDI32.SelectObject(hdcDest, hBitmap);
                // bitblt over
                GDI32.BitBlt(hdcDest, 0, 0, width, height, hdcSrc, 0, 0, GDI32.SRCCOPY);
                // restore selection
                GDI32.SelectObject(hdcDest, hOld);
                // clean up
                GDI32.DeleteDC(hdcDest);
                User32.ReleaseDC(handle, hdcSrc);
                // get a .NET image object for it
                Image img = Image.FromHbitmap(hBitmap);
                // free up the Bitmap object
                GDI32.DeleteObject(hBitmap);
                return img;
            }
            /// <summary>
            /// Captures a screen shot of a specific window, and saves it to a file
            /// </summary>
            /// <param name="handle"></param>
            /// <param name="filename"></param>
            /// <param name="format"></param>
            public void CaptureWindowToFile(IntPtr handle, string filename, ImageFormat format)
            {
                Image img = CaptureWindow(handle);
                img.Save(filename, format);
            }
            /// <summary>
            /// Captures a screen shot of the entire desktop, and saves it to a file
            /// </summary>
            /// <param name="filename"></param>
            /// <param name="format"></param>
            public void CaptureScreenToFile(string filename, ImageFormat format)
            {
                Image img = CaptureScreen();
                img.Save(filename, format);
            }
    
            /// <summary>
            /// Helper class containing Gdi32 API functions
            /// </summary>
            private class GDI32
            {
    
                public const int SRCCOPY = 0x00CC0020; // BitBlt dwRop parameter
                [DllImport("gdi32.dll")]
                public static extern bool BitBlt(IntPtr hObject, int nXDest, int nYDest,
                    int nWidth, int nHeight, IntPtr hObjectSource,
                    int nXSrc, int nYSrc, int dwRop);
                [DllImport("gdi32.dll")]
                public static extern IntPtr CreateCompatibleBitmap(IntPtr hDC, int nWidth,
                    int nHeight);
                [DllImport("gdi32.dll")]
                public static extern IntPtr CreateCompatibleDC(IntPtr hDC);
                [DllImport("gdi32.dll")]
                public static extern bool DeleteDC(IntPtr hDC);
                [DllImport("gdi32.dll")]
                public static extern bool DeleteObject(IntPtr hObject);
                [DllImport("gdi32.dll")]
                public static extern IntPtr SelectObject(IntPtr hDC, IntPtr hObject);
            }
    
            /// <summary>
            /// Helper class containing User32 API functions
            /// </summary>
            private class User32
            {
                [StructLayout(LayoutKind.Sequential)]
                public struct RECT
                {
                    public int left;
                    public int top;
                    public int right;
                    public int bottom;
                }
                [DllImport("user32.dll")]
                public static extern IntPtr GetDesktopWindow();
                [DllImport("user32.dll")]
                public static extern IntPtr GetWindowDC(IntPtr hWnd);
                [DllImport("user32.dll")]
                public static extern IntPtr ReleaseDC(IntPtr hWnd, IntPtr hDC);
                [DllImport("user32.dll")]
                public static extern IntPtr GetWindowRect(IntPtr hWnd, ref RECT rect);
            }
        }
    }

     

    Bu classı projene ekle hocam.

    Sonra artık consol uygulamasımı yaparsın, servismi yaparsın, windows form mu yaparsın bilemem

    ScreenShotDemo.ScreenCapture YeniScreen = new ScreenShotDemo.ScreenCapture();
    YeniScreen.CaptureScreenToFile("C:\\img.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);

    Bu şekilde kaydedebilirsin...

    img.jpgi yapametreye bağlayıp, fonksiyonuda threading.sleep("30000") ile 5 dakkaya bağla bitsin :)

    Bu arada program butona fln bağlanırsa kilitlenebilir döngüden dolayı thread olarak calıştırabilirsin..


    Sanıyorum kendi atasözümü yaptım, kaynak belirterek kullanabilirsiniz. 10.05.2013 tarihli google arama sonucu : Aradığınız - "herşeyin hayırlısı rampanın bayırlısı" - ile ilgili hiçbir arama sonucu mevcut değil. Not : Söyleyeni belli olduğu için(Ben) atasözü değil, özlüsöz oluyormuş, dolayısı ile kendi özlüsözümü yapmış oldum :)
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    BurakMakar
    BurakMakar's avatar
    Kayıt Tarihi: 27/Mart/2011
    Erkek

    ben bunu nereye yazcam yha :D kafamı karıştırdın :D 

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PoLLBuLL
    PoLLBuLL's avatar
    Kayıt Tarihi: 04/Temmuz/2010
    Erkek
    http://www.etrusoft.com/screenshot-maker-online-help/capturetimer.htm veya http://www.download3000.com/download_8222.html

    You are a man of many colours. but i, motherfucker, am the rainbow
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    BurakMakar
    BurakMakar's avatar
    Kayıt Tarihi: 27/Mart/2011
    Erkek

    çok saol kardeşim :)

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    renegadealien
    renegadealien's avatar
    Üstün Hizmet Madalyası Savaş Madalyası Başarı Madalyası Üstün Hizmet Madalyası Developer Madalyası
    Kayıt Tarihi: 23/Mart/2003
    Erkek

    BurakMakar bunu yazdı:
    -----------------------------

    Bi ara yapmıştım ama tam olarak programı hatırlamıyorum..

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

    Sen bunu yazınca ben kodlayacaksın sandıydım :)


    Sanıyorum kendi atasözümü yaptım, kaynak belirterek kullanabilirsiniz. 10.05.2013 tarihli google arama sonucu : Aradığınız - "herşeyin hayırlısı rampanın bayırlısı" - ile ilgili hiçbir arama sonucu mevcut değil. Not : Söyleyeni belli olduğu için(Ben) atasözü değil, özlüsöz oluyormuş, dolayısı ile kendi özlüsözümü yapmış oldum :)
Toplam Hit: 1740 Toplam Mesaj: 7