public IClipboardDataPackage CreateFromCurrentClipboardData()
 {
     using (var session = clipboardSessionFactory.StartNewSession())
     {
         var formats = session.GetClipboardFormats();
         return(IsAnyFormatSupported(formats)
                    ? ConstructPackageFromFormats(formats)
                    : null);
     }
 }
示例#2
0
        public void InjectData(IClipboardDataPackage package)
        {
            clipboardCopyInterceptor.SkipNext();

            using (clipboardHandleFactory.StartNewSession())
            {
                ClipboardApi.EmptyClipboard();
                InjectPackageContents(package);
            }

            logger.Information("Clipboard package has been injected to the clipboard.", 1);
        }
示例#3
0
        public async Task InjectDataAsync(IClipboardDataPackage package)
        {
            clipboardCopyInterceptor.SkipNext();

            using (var session = clipboardHandleFactory.StartNewSession())
            {
                session.EmptyClipboard();
                InjectPackageContents(session, package);
            }

            logger.Information("Clipboard package has been injected to the clipboard.", 1);
        }
示例#4
0
        public async Task <IClipboardDataPackage> CreateFromCurrentClipboardDataAsync()
        {
            using (var session = clipboardSessionFactory.StartNewSession())
            {
                var formats = session.GetClipboardFormats();
                if (formats.Count == 0)
                {
                    return(null);
                }

                return(await ConstructPackageFromFormatsAsync(formats));
            }
        }
示例#5
0
 public IClipboardDataControlPackage Create()
 {
     using (clipboardSessionFactory.StartNewSession())
     {
         var formats = ClipboardApi.GetClipboardFormats();
         if (IsAnyFormatSupported(formats))
         {
             return(ConstructPackage(formats));
         }
         else
         {
             return(null);
         }
     }
 }
示例#6
0
        public IClipboardDataPackage CreateFromCurrentClipboardData()
        {
            using (var session = clipboardSessionFactory.StartNewSession())
            {
                var formats = session.GetClipboardFormats();
                if (formats.Count == 0)
                {
                    throw new NoDataInClipboardException();
                }

                if (!IsAnyFormatSupported(formats))
                {
                    throw new ClipboardFormatNotUnderstoodException();
                }

                return(ConstructPackageFromFormats(formats));
            }
        }
        public async Task InjectDataAsync(IClipboardDataPackage package)
        {
            try
            {
                clipboardCopyInterceptor.SkipNext();

                using (var session = clipboardHandleFactory.StartNewSession())
                {
                    session.EmptyClipboard();
                    InjectPackageContents(session, package);
                }

                logger.Information("Clipboard package has been injected to the clipboard.", 1);
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Could not inject clipboard data.");
                throw;
            }
        }