take - windows 10 screenshot shortcut




উইন্ডোজ এ সরাসরি কোন স্ক্রিনশট কিভাবে সংরক্ষণ করব? (14)

উইন্ডোজ এক্সপি তে, অ্যাক্টিভ উইন্ডোটির একটি ছবি অনুলিপি করার জন্য Alt-PrintScreen টি বা পূর্ণ ডেস্কটপের একটি চিত্র অনুলিপি করতে Ctrl-PrintScreen টিপতে পারে।

এরপরে ছবিগুলি গ্রহণ করে এমন অ্যাপ্লিকেশনগুলিতে আটকাতে পারে: ফটোশপ, মাইক্রোসফ্ট ওয়ার ইত্যাদি।

আমি ভাবছি: স্ক্রিনশটটি কোনও ফাইলে সরাসরি সংরক্ষণ করার উপায় আছে? আমি কি সত্যিই একটি ছবি প্রোগ্রাম খুলতে চাই, যেমন পেইন্ট.net বা ফটোশপ, কেবল একটি চিত্র পেস্ট করার জন্য, সেটি সংরক্ষণ করুন?


Snagit ... অনেক প্রযুক্তিবিদ যে ব্যবহার।


অবশ্যই আপনি একটি প্রোগ্রাম লিখতে পারেন যা ক্লিপবোর্ডটি নিরীক্ষণ করে এবং ক্লিপবোর্ডের প্রতিটি চিত্রের জন্য একটি বিরক্তিকর SaveAs- ডায়ালগ প্রদর্শন করে ;-)। আমি অনুমান করতে পারি যে শেষ কী চাপলে মুদ্রণস্ক্রিন মিথ্যা ইতিবাচক সংখ্যা সীমিত করতে পারে।

যদিও আমি এটি সম্পর্কে চিন্তা করছি .. আপনি ইতিমধ্যে যে যে কেউ জন্য গুগল পারে।

সম্পাদনা করুন : .. অথবা কেবল এখানে উৎস পোস্ট করার জন্য অপেক্ষা করুন - ঠিক যেমন: happiness :-)


আপনি এক্সপি মধ্যে যে কার্যকারিতা জন্য একটি তৃতীয় পক্ষের পর্দা দখল ইউটিলিটি প্রয়োজন। আমি স্কট হানসেলম্যানের দুর্দান্ত সরঞ্জাম সম্পর্কে দুর্দান্ত ব্লগিং খনন করেছি এবং সাধারণত এই ধরনের ইউটিলিটির জন্য দেখি - নিশ্চিতভাবেই, তিনি here দম্পতি সম্পর্কে ব্লগ করেছেন।


আপনি এমন কিছু সহজ কোড কোড করতে পারেন যা মুদ্রণস্ক্রিনটিকে হুক করবে এবং একটি ফাইলের মধ্যে ক্যাপচার সংরক্ষণ করবে।

এখানে একটি ফাইল ক্যাপচার এবং সংরক্ষণ শুরু করতে কিছু। আপনি শুধু "মুদ্রণ পর্দা" কী হুক করতে হবে।

using System;
using System.Drawing;
using System.IO;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;
public class CaptureScreen
{

    static public void Main(string[] args)
    {

        try
        {
            Bitmap capture = CaptureScreen.GetDesktopImage();
            string file = Path.Combine(Environment.CurrentDirectory, "screen.gif");
            ImageFormat format = ImageFormat.Gif;
            capture.Save(file, format);
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
        }

    }

    public static Bitmap GetDesktopImage()
    {
        WIN32_API.SIZE size;

        IntPtr  hDC = WIN32_API.GetDC(WIN32_API.GetDesktopWindow()); 
        IntPtr hMemDC = WIN32_API.CreateCompatibleDC(hDC);

        size.cx = WIN32_API.GetSystemMetrics(WIN32_API.SM_CXSCREEN);
        size.cy = WIN32_API.GetSystemMetrics(WIN32_API.SM_CYSCREEN);

        m_HBitmap = WIN32_API.CreateCompatibleBitmap(hDC, size.cx, size.cy);

        if (m_HBitmap!=IntPtr.Zero)
        {
            IntPtr hOld = (IntPtr) WIN32_API.SelectObject(hMemDC, m_HBitmap);
            WIN32_API.BitBlt(hMemDC, 0, 0,size.cx,size.cy, hDC, 0, 0, WIN32_API.SRCCOPY);
            WIN32_API.SelectObject(hMemDC, hOld);
            WIN32_API.DeleteDC(hMemDC);
            WIN32_API.ReleaseDC(WIN32_API.GetDesktopWindow(), hDC);
            return System.Drawing.Image.FromHbitmap(m_HBitmap); 
        }
        return null;
    }

    protected static IntPtr m_HBitmap;
}

public class WIN32_API
{
    public struct SIZE
    {
        public int cx;
        public int cy;
    }
    public  const int SRCCOPY = 13369376;
    public  const int SM_CXSCREEN=0;
    public  const int SM_CYSCREEN=1;

    [DllImport("gdi32.dll",EntryPoint="DeleteDC")]
    public static extern IntPtr DeleteDC(IntPtr hDc);

    [DllImport("gdi32.dll",EntryPoint="DeleteObject")]
    public static extern IntPtr DeleteObject(IntPtr hDc);

    [DllImport("gdi32.dll",EntryPoint="BitBlt")]
    public static extern bool BitBlt(IntPtr hdcDest,int xDest,int yDest,int wDest,int hDest,IntPtr hdcSource,int xSrc,int ySrc,int RasterOp);

    [DllImport ("gdi32.dll",EntryPoint="CreateCompatibleBitmap")]
    public static extern IntPtr CreateCompatibleBitmap(IntPtr hdc,  int nWidth, int nHeight);

    [DllImport ("gdi32.dll",EntryPoint="CreateCompatibleDC")]
    public static extern IntPtr CreateCompatibleDC(IntPtr hdc);

    [DllImport ("gdi32.dll",EntryPoint="SelectObject")]
    public static extern IntPtr SelectObject(IntPtr hdc,IntPtr bmp);

    [DllImport("user32.dll", EntryPoint="GetDesktopWindow")]
    public static extern IntPtr GetDesktopWindow();

    [DllImport("user32.dll",EntryPoint="GetDC")]
    public static extern IntPtr GetDC(IntPtr ptr);

    [DllImport("user32.dll",EntryPoint="GetSystemMetrics")]
    public static extern int GetSystemMetrics(int abc);

    [DllImport("user32.dll",EntryPoint="GetWindowDC")]
    public static extern IntPtr GetWindowDC(Int32 ptr);

    [DllImport("user32.dll",EntryPoint="ReleaseDC")]
    public static extern IntPtr ReleaseDC(IntPtr hWnd,IntPtr hDc);
}

আপডেট এখানে সি # থেকে মুদ্রণস্ক্রীন (এবং অন্যান্য কী) হুক করার কোড রয়েছে:

হুক কোড


উইন্ডোজ 7 এ স্ন্যাপিং টুল সম্পর্কে দরকারী তথ্য প্রদানের জন্য সফটওয়্যার জেডির ধন্যবাদ। Snipping Tool খুলতে শর্টকাট: শুরুতে যান, Sni টাইপ করুন এবং আপনি "Snipping Tool" তালিকায় নামটি পাবেন।


উইন্ডোজ 8 এর আগে তৃতীয় পক্ষের সরঞ্জাম ছাড়া কোনও ফাইলে সরাসরি সংরক্ষণ করার কোন উপায় নেই। এখানে আমার ব্যক্তিগত প্রিয় অ-তৃতীয় পক্ষের সরঞ্জাম সমাধানগুলি রয়েছে।

উইন্ডোজ 8 এর জন্য এবং পরে

+ মুদ্রণস্ক্রিন <user>/Pictures/Screenshots একটি ফোল্ডারে স্ক্রিনশট সংরক্ষণ করে

উইন্ডোজের জন্য 7

জিতে 7 কেবল স্নিপিং টুলটি ব্যবহার করুন: স্টার্ট টিপে সবচেয়ে সহজেই অ্যাক্সেস করা যায়, তারপর "sni" লিখুন (প্রবেশ করুন)। অথবা তারপর আমি লিখুন

উইন্ডোজ এর আগে সংস্করণ

আমি ক্যাপচার নিম্নলিখিত কীবোর্ড সমন্বয় ব্যবহার করুন, তারপর mspaint ব্যবহার করে সংরক্ষণ করুন। আপনি এটি কয়েক বার করার পরে, এটি শুধুমাত্র 2-3 সেকেন্ড সময় লাগে:

  1. Alt + প্রিন্টস্ক্রীন
  2. জয় + আর ("রান")
  3. লিখুন "mspaint" লিখুন
  4. Ctrl - V (পেস্ট)
  5. Ctrl - S (সংরক্ষণ করুন)
  6. ফাইল ডায়লগ ব্যবহার করুন
  7. Alt - F4 (বন্ধ mspaint)

উপরন্তু, Cropper মহান (এবং ওপেন সোর্স)। এটা ফাইল বা ক্লিপবোর্ড আয়তক্ষেত্রাকার ক্যাপচার করে, এবং অবশ্যই বিনামূল্যে।


একটি স্ক্রিন ক্যাপচার প্রোগ্রাম ইনস্টল করার শর্ট, যা আমি সুপারিশ করি, এটি করার সর্বোত্তম উপায় হল স্ট্যান্ডার্ড মুদ্রণ স্ক্রীন পদ্ধতি ব্যবহার করে মাইক্রোসফ্ট অফিস পিকচার ম্যানেজারটি খুলুন এবং আপনার ইচ্ছা অনুসারে সেই ডিরেক্টরটির সাদা এলাকায় কেবল স্ক্রিনশটটি পেস্ট করুন। এটি একটি বিটম্যাপ তৈরি করবে যা আপনি সম্পাদনা বা সংরক্ষণ করতে পারেন-একটি ভিন্ন বিন্যাস হিসাবে।


একটি স্ক্রিনশট autosave ইউটিলিটি ইনস্টল ছাড়া, হ্যাঁ আপনি। আপনি এই কাজ করতে পারেন যদিও বিভিন্ন ইউটিলিটি খুঁজে পেতে পারেন।

উদাহরণস্বরূপ: http://www.screenshot-utility.com/


এটি চেষ্টা করুন: http://www.screenshot-utility.com/

তাদের হোমপেজ থেকে:

যখন আপনি একটি হটকি চাপেন, তখন এটি আপনার স্ক্রিনের একটি স্ন্যাপশটকে একটি JPG, GIF বা BMP ফাইলে ধরে রাখে এবং সংরক্ষণ করে।


এটি দেখায় যে Google পিকাসা (বিনামূল্যে) এখন আপনার জন্য এটি করবে। যদি এটি খোলা থাকে, আপনি আঘাত করলে এটি একটি স্ক্রিন শটকে একটি ফাইলে সংরক্ষণ করবে এবং Picasa এ লোড করবে। আমার অভিজ্ঞতা, এটা মহান কাজ করে!


ড্রপবক্স এখন স্বয়ংক্রিয়ভাবে এই কাজ করতে হুক উপলব্ধ করা হয়। যদি আপনি একটি বিনামূল্যে ড্রপবক্স অ্যাকাউন্ট পান এবং ল্যাপটপ অ্যাপ্লিকেশনটি ইনস্টল করেন, যখন আপনি প্রটসআরআর ড্রপবক্সটি চাপবেন তখন আপনার ড্রপবক্স ফোল্ডারে স্বয়ংক্রিয়ভাবে সমস্ত স্ক্রীনশট সংরক্ষণ করার বিকল্প আপনাকে দেবে।


পিকাসা পটভূমিতে চলমান রাখুন, এবং কেবল "স্ক্রিন মুদ্রণ করুন" কী ক্লিক করুন

Source


লিটল পরিচিত তথ্য: বেশিরভাগ প্রমিত উইন্ডোজ (এক্সপি) ডায়ালগগুলিতে, আপনি সংলাপের সামগ্রীটির একটি পাঠ্য কপি পেতে Ctrl + C এ ক্লিক করতে পারেন।
উদাহরণ: নোটপ্যাডে একটি ফাইল খুলুন, স্থানটি হিট করুন, উইন্ডোটি বন্ধ করুন, প্রস্থান প্রস্থান সংলাপে Ctrl + C চাপুন, বাতিল করুন, নোটপ্যাডে ডায়ালগটির পাঠ্যটি পেস্ট করুন।
আপনার সরাসরি প্রশ্নের সাথে সম্পর্কিত, কিন্তু আমি এই থ্রেড উল্লেখ করতে চমৎকার হবে।

পাশাপাশি, আপনাকে স্ক্রিনশট করতে তৃতীয় পক্ষের সফ্টওয়্যারের প্রয়োজন, কিন্তু এর জন্য আপনাকে বড় ফটোশপ জ্বালানোর দরকার নেই। IrfanWiew বা XnView মত কিছু বিনামূল্যে এবং লাইটওয়েট কাজ করতে পারেন। আমি স্ক্রিনের ইচ্ছাকৃত অংশের অনুলিপি করার জন্য MWSnap ব্যবহার করি। আমি স্ক্রিনশট করতে GDI + ফাংশন কলিং একটি স্বল্প AutoHotkey স্ক্রিপ্ট লিখেছেন। প্রভৃতি


সমস্ত সোর্স কোড এবং মন্তব্যের জন্য ধন্যবাদ - ধন্যবাদ, আমি পরিশেষে একটি অ্যাপ্লিকেশন যা আমি চাই :)

আমি কিছু উদাহরণ কম্পাইল করেছি, এবং উভয় উত্স এবং এক্সিকিউটেবলগুলি এখানে পাওয়া যাবে:

http://sdaaubckp.svn.sourceforge.net/viewvc/sdaaubckp/xp-take-screenshot/

আমি InterceptCaptureScreen.exe ব্যবহার করি - এটি কেবল একটি কমান্ড প্রম্পট টার্মিনালে চালানো হবে, এবং তারপরে আপনি একটি স্ক্রিনশট ক্যাপচার করতে চাইলে সন্নিবেশ টিপুন (টাইমস্ট্যাম্পযুক্ত ফাইল নাম, PNG, যেখানে একই এক্সিকিউটেবল রয়েছে সেই একই ডিরেক্টরিতে); টার্মিনাল ফোকাস না থাকলেও কীগুলি ধরে নেওয়া হবে।

(আমি সন্নিবেশ কী ব্যবহার করি, যেহেতু এটি প্রিন্টস্ক্রিনের চেয়ে VNC- এর মাধ্যমে প্রচার করা সহজ সময় থাকা উচিত - যা আমার ল্যাপটপের জন্য Fn কী টিপে চাপ দেওয়া হয় এবং এটি VNC এর মাধ্যমে প্রচার করে না। অবশ্যই, এটি পরিবর্তন করা সহজ সোর্স কোড ব্যবহার করা প্রকৃত কী)।

এই সাহায্য করে, Cheers!





screenshot