public void BeginWatching()
        {
            try
            {
                if (ClipboardWatcher?.Enabled == true)
                {
                    ClipboardWatcher.Stop();
                }

                if (Clipboard.ContainsText())
                {
                    ClipboardText = Clipboard.GetText();
                    if (ClipboardTextChanged == null)
                    {
                        return;
                    }
                    ClipboardTextChanged.Invoke(this, ClipboardText);
                }

                ClipboardWatcher = new Timer(500);
            }
            catch
            {
                return;
            }

            ClipboardWatcher.Elapsed += ClipboardWatcher_Elapsed;
            ClipboardWatcher.Start();
        }
 private void ProcessClipboardText()
 {
     if (System.Windows.Clipboard.ContainsText())
     {
         ClipboardTextChanged?.Invoke(this, System.Windows.Clipboard.GetText());
     }
 }
Пример #3
0
        private void WatchClipboard(CancellationToken cancelToken)
        {
            while (!cancelToken.IsCancellationRequested &&
                   !Environment.HasShutdownStarted)
            {
                var thread = new Thread(() =>
                {
                    try
                    {
                        Win32Interop.SwitchToInputDesktop();


                        if (Clipboard.ContainsText() && Clipboard.GetText() != ClipboardText)
                        {
                            ClipboardText = Clipboard.GetText();
                            ClipboardTextChanged?.Invoke(this, ClipboardText);
                        }
                    }
                    catch { }
                });
                thread.SetApartmentState(ApartmentState.STA);
                thread.Start();
                Thread.Sleep(500);
            }
        }
 private void ProcessClipboardText()
 {
     if (Clipboard.ContainsText())
     {
         ClipboardTextChanged?.Invoke(this, Clipboard.GetText());
     }
 }
 private async void ProcessClipboardText()
 {
     if (Clipboard.ContainsText())
     {
         ClipboardTextChanged?.Invoke(this, await _asyncClipboardService.GetTextAsync());
     }
 }
Пример #6
0
        private static void OnClipboardContentChanged(IntPtr hwnd)
        {
            var hwndSource = HwndSource.FromHwnd(hwnd);

            hwndSource?.Dispatcher.InvokeAsync(() =>
            {
                if (SafeClipboard.ContainsText())
                {
                    ClipboardTextChanged?.Invoke(hwndSource.RootVisual, EventArgs.Empty);
                }
            });
        }
Пример #7
0
        private void ProcessClipboardText()
        {
            ClipBoardModel result = new ClipBoardModel();

            if (Clipboard.ContainsFileDropList())
            {
                foreach (string item in Clipboard.GetFileDropList())
                {
                    result.filepath = item;
                    result.filetype = Formats.file;
                }
            }
            else if (Clipboard.ContainsText())
            {
                result.filepath = Clipboard.GetText();
                result.filetype = Formats.text;
            }
            else if (Clipboard.ContainsImage())
            {
                var x = Clipboard.GetImage();
                result.filetype = Formats.image;
                var bitmap = BitmapFromSource(x);
                var img    = ImageSourceFromBitmap(bitmap);
                result.filepath = img;
            }
            else
            {
                string      temp2;
                IDataObject temp4 = Clipboard.GetDataObject();
                var         temp1 = temp4.GetFormats();
                foreach (var x in temp1)
                {
                    temp2 = x;
                }
                // var x = Clipboard.GetImage();
                result.filepath = "Invalid";
                result.filetype = "Invalid";
            }


            //  ClipboardFormat? format = null;

            //string xx = iData.GetDataPresent(DataFormats.);
            ClipboardTextChanged?.Invoke(this, result);
            //}
        }
Пример #8
0
        public void BeginWatching()
        {
            try
            {
                if (ClipboardWatcher?.Enabled == true)
                {
                    ClipboardWatcher.Stop();
                }

                if (Clipboard.ContainsText())
                {
                    ClipboardText = Clipboard.GetText();
                    ClipboardTextChanged.Invoke(this, ClipboardText);
                }
                ClipboardWatcher = new System.Timers.Timer(500);
            }
            catch
            {
                return;
            }
            ClipboardWatcher.Elapsed += (sender, args) =>
            {
                var thread = new Thread(() =>
                {
                    try
                    {
                        if (Clipboard.ContainsText() && Clipboard.GetText() != ClipboardText)
                        {
                            ClipboardText = Clipboard.GetText();
                            ClipboardTextChanged.Invoke(this, ClipboardText);
                        }
                    }
                    catch (Exception ex)
                    {
                        Logger.Write(ex);
                    }
                });
                thread.SetApartmentState(ApartmentState.STA);
                thread.Start();
            };
            ClipboardWatcher.Start();
        }
Пример #9
0
        private void ClipboardWatcher_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            var thread = new Thread(() =>
            {
                try
                {
                    Win32Interop.SwitchToInputDesktop();


                    if (Clipboard.ContainsText() && Clipboard.GetText() != ClipboardText)
                    {
                        ClipboardText = Clipboard.GetText();
                        ClipboardTextChanged?.Invoke(this, ClipboardText);
                    }
                }
                catch { }
            });

            thread.SetApartmentState(ApartmentState.STA);
            thread.Start();
        }
Пример #10
0
        private async Task WatchClipboard(CancellationToken cancelToken)
        {
            while (!cancelToken.IsCancellationRequested &&
                   !Environment.HasShutdownStarted)
            {
                try
                {
                    var currentText = await App.Current.Clipboard.GetTextAsync();

                    if (!string.IsNullOrEmpty(currentText) && currentText != ClipboardText)
                    {
                        ClipboardText = currentText;
                        ClipboardTextChanged?.Invoke(this, ClipboardText);
                    }
                }
                finally
                {
                    Thread.Sleep(500);
                }
            }
        }
Пример #11
0
 private void WatchClipboard(CancellationToken cancelToken)
 {
     while (!cancelToken.IsCancellationRequested &&
            !Environment.HasShutdownStarted)
     {
         try
         {
             var currentText = EnvironmentHelper.StartProcessWithResults("xclip", "-o");
             // TODO: Switch back when fixed.
             //var currentText = await App.Current.Clipboard.GetTextAsync();
             if (!string.IsNullOrEmpty(currentText) && currentText != ClipboardText)
             {
                 ClipboardText = currentText;
                 ClipboardTextChanged?.Invoke(this, ClipboardText);
             }
         }
         finally
         {
             Thread.Sleep(500);
         }
     }
 }