Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Копир. из буфера обмена в поле логин в браузе IE


Автор: mapple 21.7.2008, 10:39
Собственно проблема в следующем, создаю форму со своими задачами, после определенных действий, копирую введенное слово у себя в буфер обмена:
{используем библиотеку clipbrd, пишу на Borland® Delphi® for Microsoft® Windows™ Version 10.0.2151.25345 - вобщем на 7}

   clipboard.clear; // очищаем буфер обмена
   clipboard.astext:='пример'; // копируем в буфер введенное слово, в нашем случае 'пример'

далее программным путем позиционируют курсор мыши на поле Логин в IE (Internet Explorer), имитируют клик левой кнопки мыши над полем, поле становится активным  для ввода, далее необходимо инициализировать вставку текста из буфера, вот тут я и встретил проблемму, у себя в окне прогрммы я вывожу в окно memo содержимое буфера и все вижу

   memo1.text:=clipboard.astext;

но вот как вывести в поле логина в IE, не понимаю, если кто-то знает и сталкивался с этой "проблемой", напишите как вы решали эту задачу, спасибо за ранее (страница в IE в формате HTML и поле логина имеет вид INPUT size=18 name=user_prog, это на всякий случай)

 smile 

Автор: mapple 21.7.2008, 18:07
Собственно я уже сам все сделал, выкладываю часть кода, может пригодится кому:

clipboard.AsText:='Тест'; // помещаем в буфер обмена слово "Тест"
SetCursorPos(Log.X,Log.Y); // Позиционируем курсор мыши в заданные координаты
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); // имитируем нажатие левой кнопки мыши
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
keybd_event(VK_CONTROL, 0, 0, 0); // имитируем нажатие Ctrl+V
keybd_event(Ord('V'), 0, 0, 0);
keybd_event(Ord('V'), 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)