1 / 1 / 0
Регистрация: 10.04.2012
Сообщений: 84
1

Управление буфером обмена через другой поток

20.10.2012, 23:37. Показов 2140. Ответов 3
Метки нет (Все метки)

Надо удалять, добавлять, изменять буфер обмена через фоновой поток.
C#
1
2
3
4
5
//При стандартном
Clipboard.SetText("бла");
// вываливается ошибка
//Текущий поток должен быть задан как поток однопоточного контейнера (STA), чтобы вызовы OLE стали 
//возможны. Проверьте, что ваша функция Main помечена атрибутом STAThreadAttribute.
Подскажите решение.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.10.2012, 23:37
Ответы с готовыми решениями:

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

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

Работа с Буфером обмена (Clipboard)
Всем привет! Ребята, в простом не могу найти решение. Подскажите, почему не работает. Мне нужно...

[WPF] Вызывающий поток не может получить доступ к данному объекту, т.к. владельцем этого объекта является другой поток
Здравствуйте пытаюсь реализовать кросспоточное пополнение listbox в WPF С#, но и в итоге получаю...

3
2 / 2 / 0
Регистрация: 09.10.2012
Сообщений: 16
21.10.2012, 04:08 2
Это вечные забавы с COM STA\MTA.
Варианты:
- отдавать эту операцию на выполнение в главный поток
- забить на класс Clipboard и использовать WinAPI
0
1 / 1 / 0
Регистрация: 10.04.2012
Сообщений: 84
21.10.2012, 11:32  [ТС] 3
Спасибо, да я в сторону Винапи уже смотрел... нашел темку здесь Просьба сделать некоторые пояснения по поводу работы с буфером обмена , но там я так и не понял зачем нужна третья функция. И в каком месте именно добавляются данные в буфер?
0
Почетный модератор
Эксперт .NET
8700 / 3652 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
22.10.2012, 02:35 4
C#
1
2
3
var thread = new Thread( ( ) => Clipboard.SetText( "123" ) );
thread.SetApartmentState( ApartmentState.STA );
thread.Start();
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.10.2012, 02:35

Ошибка: вызывающий поток не может получить доступ к данному объекту, так как владельцем этого объекта является другой поток.
Ошибка в "progressBar1.Value += 50;", вызывающий поток не может получить доступ к данному объекту,...

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

Как работать с буфером обмена
Помогите пожалуйста,не пойму с чего начать. Есть форма,на ней два button один на запись,другой...

Как перехватить поток ввода-вывода одной программы через другую (межпроцессорного обмена данными)?
Ребята, извиняюсь за некорректность возможную, поскольку я совсем-совсем новичок. у меня есть ...


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

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

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