19 / 19 / 2
Регистрация: 17.05.2011
Сообщений: 53
1
.NET 4.x

Работа с Буфером обмена (Clipboard)

18.05.2013, 10:57. Показов 6793. Ответов 6
Метки нет (Все метки)

Всем привет!

Ребята, в простом не могу найти решение. Подскажите, почему не работает.
Мне нужно скопировать в "Буфер обмена" URL ссылку. Вроде всё просто, пример элементарный, но вылетает ошибка.
Приложение: WPF, .NET Framework 4.5

Например:
C#
1
2
3
4
5
6
7
const string TextForCopy = 
"http://products.kaspersky-labs.com/russian/homeuser/kis2013/kis13.0.1.4190ru-ru.exe";
 
// И так пробовал
// Clipboard.SetText(TextForCopy);
// И этак пробовал
Clipboard.SetData(DataFormats.Text, (Object)TextForCopy);
Миниатюры
Работа с Буфером обмена (Clipboard)  
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2013, 10:57
Ответы с готовыми решениями:

Работа с буфером обмена. (Опен офис, Компас).
Добрый день. Идея следующая. Выделяю область в опенофисе калькулятор (аналог Экселя). Копирую в...

Операции с буфером обмена
Доброго времени суток,форумчане!Назрел один вопрос у меня по поводу буфера обмена. Цель:Если в...

Управление буфером обмена через другой поток
Надо удалять, добавлять, изменять буфер обмена через фоновой поток. //При стандартном...

Clipboard. Наблюдение за буфером обмена Windows.
Здравствуйте подскажите как сделать такую программу которая могла запоминать текст из буфера обмена...

6
8 / 8 / 1
Регистрация: 14.03.2013
Сообщений: 22
18.05.2013, 13:53 2
все прекрасно работает в приведенном тобой примере VS2012 WPF 4.5
0
19 / 19 / 2
Регистрация: 17.05.2011
Сообщений: 53
18.05.2013, 20:37  [ТС] 3
Пришли свой проект в архиве. У меня не работает. Ничего не пойму почему.
Использую: Windows 7 x64, VS2012 + Update2 (русская версия), WPF приложение, .NET Framework 4.5
0
8 / 8 / 1
Регистрация: 14.03.2013
Сообщений: 22
18.05.2013, 22:17 4
лови он с .exe файлом
Вложения
Тип файла: zip WpfApplication2.zip (48.7 Кб, 36 просмотров)
0
19 / 19 / 2
Регистрация: 17.05.2011
Сообщений: 53
19.05.2013, 10:24  [ТС] 5
Не работает все равно. Что за фокус с этим Clipboard? Как же найти "грабли", мне очень стало интересно из-за чего не работает. Проект то вообще пустой, две строчки. Нажимаем на кнопку..... думает какое-то время и вылетает та же ошибка.
Работа с Буфером обмена (Clipboard)
0
19 / 19 / 2
Регистрация: 17.05.2011
Сообщений: 53
19.05.2013, 10:28  [ТС] 6
Цитата Сообщение от Gromnorg Посмотреть сообщение
лови он с .exe файлом
Проверь мой проект. Если он у тебя заработает, то даже не знаю что делать. Кто тогда мешает выполнению?
WpfApplication1.7z
0
19 / 19 / 2
Регистрация: 17.05.2011
Сообщений: 53
19.05.2013, 11:02  [ТС] 7
Разобрался. Нашел причину этой ошибки.

Как устроена работа с буфером обмена:
1. Приложение вызывает функцию OpenClipboard для получения доступа к буферу обмена. С этого момента доступ к буферу закрыт для всех остальных приложений.
2. Приложение вызывает либо функцию GetClipboardData для получения данных, либо EmptyClipboard для его очистки и SetClipboardData для записи данных в буфер обмена.
3. Приложение закрывает буфер обмена при помощи функции CloseClipboard.

Итак, после первого пункта больше никто, кроме приложения, не может получить доступ к буферу. Если вызвать OpenClipboard и не закрывать буфер. Также работа с буфером может вызвать исключение, если в момент вызова какое-то приложение находится на пункте 2 работы. Это довольно редкая ситуация, но её стоит учитывать — поэтому работа с буфером всегда должна обрабатывать ExternalException.

Причина была в в запущенной программе "Download Master 5.15". Выгрузил и всё заработало. Ура!!!
3
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.05.2013, 11:02

Работа с буфером обмена.
Помогите пожалуйста. Нужно написать резедентную программу, которая выводила бы на экран содержимое...

работа с буфером обмена
Как написать процедуру обработки события нажатия кнопки, которая реализует действия: сохранить...

Работа с буфером обмена
Добрый вечер. Непонятные вещи творятся с Clipboard, Создаю файл, копирую его в Нное место (Рабочий...

Работа с буфером обмена
Коллеги, как узнать - с какого листа текущей книги взята в буфер обмена некоторая область (и взята...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.