Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Необходимо сделать так, что бы пользователь нажав назначенную в мой программе "горячую клавишу" и удерживая ее получил выделенный текст из буфера. Т.е. пользователь нажимает скажем Shift и держит, программа копирует выделенный текст и выдает его на экран.

Сейчас для копирования выделенного текста в буфер делается так:

procedure ClearShiftState;

begin

if GetKeyState(VK_SHIFT)

keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);

if GetKeyState(VK_CONTROL)

keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);

if GetKeyState(VK_MENU)

keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0);

end;

procedure CopySelectionFromActiveWindow;

var

Wnd: THandle;

begin

Wnd := GetFocusedControl;

if Wnd

begin

ClearShiftState;

keybd_event(VK_CONTROL, 0, 0, 0);

keybd_event(Ord('C'), 0, 0, 0);

keybd_event(Ord('C'), 0, KEYEVENTF_KEYUP, 0);

keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);

end;

end;

Т.е. фактически эмулируется нажатие Ctrl+C+C. При этом, если "горячая клавиша" Ctrl то все работает прекрасно, если же сменить "горячую клавишу", например на Shift то не работает. Возможно причина в том, что в момент эмуляции нажатия Ctrl+C+C, Shift уже нажат. Необходимо как-то это обойти. При этом необходимо учитывать, что нужно уметь получать слово из любого контрола где в принципе возможно выделение текста, будь то Word, Excel, FireFox, Opera или The Bat.

Приведенный выше код не обязательно должен присутствовать в вашей реализации, это просто пример.

17 лет назад
leonidus
Леонид 
42 годаРоссия
18 лет в сервисе
Был
4 года назад
Выбранный исполнитель
Bandito
38 летУкраина
18 лет в сервисе
Был
14 лет назад
17 лет назад
$20
1 день
Юрий сработал очень грамотно и оперативно, в сроки уложился четко. Спасибо.
Задача была поставлена четко, материалы по проекту высланы вовремя. Во время работы возникшие вопросы были решены оперативно. Рекомендую.
  • Похожие заказы
  • $1000

    Основная цель доработки - сделать обратный расчет исходя из "суммы на руки", задаваемой в валюте. Доработки должны быть выполнены таким образом, чтобы конфигурация могла обновляться из поставок поставщика. Обязательно хорошее знание самого функционала конфигурации т.к. ...

    Прикладное ПО1 исполнитель
    Закрыт
    16 лет назад
  • Суть сервиса - надстройка над системой ICQ состоящая из Серверной_части являющейся посредником между Клиентской_частью и сервером ICQ. Требуется разработать: 1. Серверную_часть 2. Клиентскую_часть 3. Протокол взаимодействия межу Клинетской_частью (КЧ) и Серверной_частью (СЧ) КЧ отличается от обычного ICQ клиента тем, что: КЧ ...

    Закрыт
    17 лет назад
  • $250

    Требуется перевети библиотеку для сжатия данных (алгоритм PPM) с C++ на C#. Объем библиотки - около 1000 строк. Для подтверждения работоспособности переведенной библиотеки надо сделать тесты: - декомпресиия 10мб файла, созданного с помощью исходной библиотеки на C++, ...

    Закрыт
    17 лет назад
  • $50

    ДЕЛьФИ или ВБ6 столкнулся с проблемой такой на сервере апач2 process apache.exe раза два в сутки апач съедает РАМ и ЦПУ 100% нужно программа монитор которая проверяет каждые 5-10 секунд ХТТП доступ к вебсайту который обслуживается апачем и ...

    Закрыт
    17 лет назад
  • $300

    есть несколько xls-файлов с массивами, надо создать программу, которая по запросам и определённому алгоритму создаёт отчёты и выводит области массивов в виде графиков. Предпочтение отдаётся программистам из Москвы ввиду чрезвычайно малого времени для переписки по ...

    Прикладное ПО1 исполнитель
    Закрыт
    17 лет назад
  • $250

    исходный код тут http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=61946&lngWId=1 добавить features socks 4/5 ftp smtp support

    Закрыт
    17 лет назад