static public void Test()
        {
            FastFindWrapper.SetHWnd(BlueStackHelper.GetBlueStackWindowHandle(), true); // Bind FastFind with BlueStack window
            FastFindWrapper.SnapShot(0, 0, 860, 720, 0);                               // Take full window capture
            FastFindWrapper.SnapShot(200, 200, 600, 500, 1);                           // Take just a small part
            FastFindWrapper.SetDebugMode(FastFindWrapper.DEBUG_STREAM_SYSTEM_DETAIL);  // Console and File - Detailed System Message
            IntPtr version = FastFindWrapper.FFVersion();
            string s       = Marshal.PtrToStringAnsi(version);

            MessageBox.Show("FastFind Version " + s);
            if (!FastFindWrapper.SaveJPG(0, fullSize, 100))
            {
                MessageBox.Show("Failed to save full BS capture into " + fullSize + FastFindWrapper.GetLastFileSuffix().ToString() + ".JPG");
            }
            else
            {
                MessageBox.Show("Succeeded to save full BS capture into " + fullSize + FastFindWrapper.GetLastFileSuffix().ToString() + ".JPG");
            }
            if (!FastFindWrapper.SaveJPG(1, smallSize, 100))
            {
                MessageBox.Show("Failed to save partial BS capture into " + smallSize + FastFindWrapper.GetLastFileSuffix().ToString() + ".JPG");
            }
            else
            {
                MessageBox.Show("Succeeded to save partial BS capture into " + smallSize + FastFindWrapper.GetLastFileSuffix().ToString() + ".JPG");
            }
            FastFindHelper.GetPixel(10, 10);
        }
 /// <summary>
 /// Takes a screen shot of the full client area of the BlueStack window
 /// </summary>
 /// <returns></returns>
 static private bool TakeCustomCapture(int left, int top, int right, int bottom)
 {
     FastFindWrapper.SetHWnd(BlueStackHelper.GetBlueStackWindowHandle(), true); // Bind FastFind with BlueStack window, considers only ClientArea
     if (FastFindWrapper.SnapShot(left, top, right, bottom, CUSTOM_SNAP) == 0)
     {
         Debug.Assert(false, "FF Capture failed");
         return(false);
     }
     return(true);
 }
 /// <summary>
 /// Takes a screen shot of the full client area of the BlueStack window
 /// </summary>
 /// <returns></returns>
 static public bool TakeFullScreenCapture(bool forceNew = false)
 {
     if ((lastFullCapture != null && lastFullCapture.ElapsedMilliseconds > MINIMUM_DELAY_BETWEEN_CAPTURES) || forceNew)
     {
         FastFindWrapper.SetHWnd(BlueStackHelper.GetBlueStackWindowHandle(), true); // Bind FastFind with BlueStack window, considers only ClientArea
         if (FastFindWrapper.SnapShot(0, 0, 0, 0, DEFAULT_SNAP) == 0)
         {
             lastFullCapture = null;
             Debug.Assert(false, "FF Capture failed");
             return(false);
         }
         lastFullCapture = Stopwatch.StartNew();
     }
     return(true);
 }