コード例 #1
0
        private static void Capture(ScreenCaptureSource screenCaptureSource, Action <Bitmap> action)
        {
            switch (screenCaptureSource)
            {
            case ScreenCaptureSource.ActiveWindow:
                CaptureActiveWindow(action);
                break;

            case ScreenCaptureSource.ActiveScreen:
                CaptureScreen(Screen.FromHandle(WinApi.GetForegroundWindow()), action);
                break;

            case ScreenCaptureSource.PrimaryScreen:
                CaptureScreen(Screen.PrimaryScreen, action);
                break;

            case ScreenCaptureSource.AllScreens:
                CaptureAllScreens(action);
                break;

            default:
                throw new NotImplementedException();
            }
        }