Вверх ↑
Этот топик читают: Гость
Ответов: 397
Рейтинг: 34
#1: 2010-07-15 23:33:23 ЛС | профиль | цитата
Короче дело вот в чем:
1. Есть схема которая перехватывает буфер
2. Запускаю браузер, копирую в нем что-нибудь
3. Программа перехватывает это
4. Закрываю браузер и в буфер записывается по новой то что я копировал раньше

Такое происходит с Firefox, IE, MS Word
Может кто знает в чем проблема, а то иногда не удобно получается...
Ниже схема. Спасибо!
code_19459.txt
карма: 0

0
файлы: 1code_19459.txt [498B] [468]
vip
#1.1контекстная реклама от партнеров
Ответов: 3349
Рейтинг: 233
#2: 2010-07-16 08:11:11 ЛС | профиль | цитата
Некоторые программы опустошает буфер обмена после прекращения работы с ними.
MS Office спрашивает(иногда) это я точно знаю.
------------ Дoбавленo в 08.11:
Некоторые программы опустошает буфер обмена после прекращения работы с ними.
MS Office спрашивает(иногда) это я точно знаю.
карма: 1

0
Ответов: 397
Рейтинг: 34
#3: 2010-07-16 08:39:39 ЛС | профиль | цитата
Ну не знаю, у меня ни одна из этих программ (Firefox, IE, MS Word) не опустошает буфер после работы с ними...
Дело скорее всего в другом... Ждем ответа от знающих
карма: 0

0
Ответов: 3349
Рейтинг: 233
#4: 2010-07-16 09:03:54 ЛС | профиль | цитата
Office clipboard

карма: 1

0
Ответов: 397
Рейтинг: 34
#5: 2010-07-16 10:34:18 ЛС | профиль | цитата
Так это происходит когда копируешь
большой текстовый фрагмент
в офисе... Это не то...
карма: 0

0
Ответов: 1379
Рейтинг: 86
#6: 2010-07-16 15:12:17 ЛС | профиль | цитата
Black-Light писал(а):
буфер записывается по новой то что я копировал раньше

подтверждается
карма: 0

0
Ответов: 1925
Рейтинг: 172
#7: 2010-07-17 12:37:59 ЛС | профиль | цитата
Подтверждаю, так и есть. Проверено на IE6.
карма: 9
0
Ответов: 397
Рейтинг: 34
#8: 2010-07-17 12:58:16 ЛС | профиль | цитата
Вот что ответил nesco:
Это системе исходное ПО передает столько событий о помещении в буфер, тут фиг чего сделаешь -- Офис, по выходу, дважды выставляет это событие, Лис -- один раз. Единственное что, так это поставить защиту от одинакового события, больше, не знаю чего делать. Искал ответ на этот вопрос, пока не нашел

Я пока решил таким способом:
code_19498.txt

Может кто лучше чего придумает, выкладывайте. Спс.
карма: 0

0
файлы: 1code_19498.txt [1.4KB] [539]
Ответов: 1925
Рейтинг: 172
#9: 2010-07-17 17:01:56 ЛС | профиль | цитата
А почему не так:

code_19503.txt
карма: 9
0
файлы: 1code_19503.txt [485B] [536]
Ответов: 397
Рейтинг: 34
#10: 2010-07-17 17:29:49 ЛС | профиль | цитата
3042, так тоже работает, я так не делал, думал что схема зациклится...
и тут при определенных условиях все равно срабатывает повторное занесение в буфер.
Например:
1. Запускаем вашу программу
2. Запускаем офис
3. Пишем в нем что-нибудь и выделяем
4. Нажимаем Ctrl+C (программа перехватывает)
5. Затем пишем в офис еще что-нибудь и видим что в буфер еще раз заносится предыдущая строка
карма: 0

0
Ответов: 1925
Рейтинг: 172
#11: 2010-07-17 17:32:33 ЛС | профиль | цитата
Да, с офисом верно. Я только на ie проверял...
карма: 9
0
Ответов: 397
Рейтинг: 34
#12: 2011-03-18 00:04:06 ЛС | профиль | цитата
Не появилось нормального решения данной проблемки? Т.к. моя схема иногда глючит, например если скопировать формулу офиса, то потом вставляется строка, а не формула...
карма: 0

0
Ответов: 1376
Рейтинг: 197
#13: 2011-03-18 00:28:40 ЛС | профиль | цитата
А так не работает, что ли?
code_22998.txt
карма: 1

0
файлы: 1code_22998.txt [613B] [464]
Ответов: 397
Рейтинг: 34
#14: 2011-03-18 00:39:09 ЛС | профиль | цитата
foksov, оно то работает, а если мне нужно скопировать тот же текст через минуту, а в этом промежутке ничего не заносилось в буфер?
карма: 0

0
Ответов: 1376
Рейтинг: 197
#15: 2011-03-18 00:43:20 ЛС | профиль | цитата
А если так

Add(MainForm,11684308,392,84)
{
Point(Handle)
link(onCreate,11699526:doPopup,[(436,104)(436,122)(380,122)(380,139)])
}
Add(Memo,884667,707,168)
{
Width=392
Height=266
Align=5
}
Add(WinTools,11699526,392,126)
{
link(Handle,11684308:Handle,[])
}
Add(FormatStr,15334416,658,168)
{
Mask="%1
%2"
link(onFString,884667:doAdd,[])
link(Str1,14196345:FormatTime,[])
}
Add(Time,14196345,658,112)
{
Format="D.M.Y h:m:s"
}
Add(ClipboardHook,541682,392,168)
{
link(onChange,3716790:doEvent1,[])
}
Add(ChangeMon,5178474,539,168)
{
link(onData,307138:doCase,[])
}
Add(Hub,3716790,441,168)
{
link(onEvent1,4280900:doWork2,[])
link(onEvent2,4951285:doTimer,[])
}
Add(Timer,4951285,469,175)
{
Interval=5000
Enable=1
AutoStop=1
OverCall=1
link(onTimer,4280900:doWork3,[(522,181)])
}
Add(HubEx,4280900,518,168)
{
link(onEvent,5178474:doData,[])
}
Add(Case,307138,595,168)
{
link(onNextCase,15334416:doString,[])
}

карма: 1

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)