Передача данных через системный буфер клавиатуры? (ВФП9)

Используя исполняемый файл Visual FoxPro 9 (EXE), мне нужно иметь возможность поместить данные в буфер системной клавиатуры, который затем будет подхвачен другой программой (не FoxPro). Однако я уже пробовал использовать команду KEYBOARD, которая работает только с полями и элементами управления в приложении FoxPro! Есть ли у кого-нибудь идеи о том, как это можно реализовать?


person LionelCP    schedule 16.02.2010    source источник


Ответы (2)


Вам нужно будет вызвать Win32 API — keybd_event, вероятно, вам нужен вызов в качестве SendInput использует структуры, которые являются проблемой в VFP. Пример кода здесь .

person stuartd    schedule 16.02.2010
comment
Спасибо, Стюарт, я рассматривал вариант API и надеялся, что мне не придется идти по этому пути. Как вы сказали, это может быть болью. - person LionelCP; 17.02.2010

Вы имеете в виду скопировать в буфер обмена? Если да, то вот два пути. Первый пример копирует строку в буфер обмена. Второй пример копирует таблицу/курсор в буфер обмена.

_cliptext = "тест"

_vfp.DataToClip(ВЫБРАТЬ(Псевдоним()), ПЕРЕСЧЕТ() + 1, 3)

person Tom Brothers    schedule 16.02.2010