Что нового

Аномальное поведение буфера обмена

vaf

Новичок
Сообщения
190
Репутация
2
Всем привет. Сегодня столкнулся с необъяснимым. Мне нужно по одним и тем же координатам нажимать "правую кнопку мыши" и далее нажимать "скопировать в буфер обмена". И это всё работало на одном компьютере, а вот на другом почему то не работает, просто ничего не копирует.
И я решил провести эксперимент.
Вот этот тестовый код отрабатывается корректно, т.е. нажимает "правую кнопку мыши", нажимает "скопировать в буфер обмена" и возвращает это через MsgBox

Код:
#include <Clipboard.au3>
sleep (10000)
url()

Func url()
    MouseClick ('right', 444, 324)
    MouseClick ('left', 471, 477) ; CopyLink
    $url_ = _ClipBoard_GetData()
    MsgBox (4096, '', $url_)
EndFunc


А вот в составе моей программы (там он в цикле) уже не работае, т.е. возвращает 0. Без цикла работает, в цикле нет. Чем это можно объяснить ? Есть мысли ?

P.S. Кто то скажет используй ClipGet() - то же самое. И ещё - текст в буфере всё же есть, т.е. если я открою блокнот и просто с клавиатуры нажму clrtl+v он выведется.
 

Oki

Продвинутый
Сообщения
452
Репутация
63
Может быть, просто не успевает буфер наполниться? Что, если задержку поставить?
 
  • Like
Реакции: vaf

joiner

Модератор
Локальный модератор
Сообщения
3,557
Репутация
628
Нужно приводить именно проблемный код. Составьте примерный код, котором не срабатывает функция. А так мы долго гадать будем
 
Автор
V

vaf

Новичок
Сообщения
190
Репутация
2
Может быть, просто не успевает буфер наполниться? Что, если задержку поставить?
Вы были правы, правда задержка не помогала, нужно было периодически считывать буфер - вот это решило проблему. Я просто вставил цикл, который будет исполняться пока в буфере что нибудь не появится.

Код:
Func url()
    ClipPut("")
    MouseClick ('right', 444, 324)
    MouseClick ('left', 471, 477)
    $url_ = ClipGet()
    While 1
        $url_ = ClipGet()
        If StringLen ($url_) > 1 Then ExitLoop
        Sleep (100)
    WEnd
    Return $url_
EndFunc


P.S. Нужно приводить именно проблемный код. Составьте примерный код, котором не срабатывает функция. А так мы долго гадать будем
Извиняюсь, но там просто много всего, не стал лишний раз запутывать сообщество.
В общем всем спасибо !!!
 
Верх