2013-08-15 2 views
0

Код ниже отправит нажатия клавиш в элемент управления редактирования DHTML в Windows Vista, но не на windows xp.Sendkeys не работает с dhtml edit control on win xp

DHTMLEdit1.SetFocus 
MySendKeys ("zzz") 

MySendKeys относится к замене для VB6 SendKeys написанных Karl Peterson для Windows Vista и за его пределами. Но я не думаю, что это уместно, поскольку следующий код не работает на XP либо

DHTMLEdit1.SetFocus 
SendKeys ("zzz") 

В Windows XP управления DHTML редактирования «DHTML Edit Control для IE5» в соответствии с окном компонентов проекта в VB6 О windows vista - это «DHTML Editing Control», который не устанавливается предварительно с окнами, но является available from Microsoft.

Кто-нибудь знает, как заставить его работать?

ответ

0

SendKeys() больше несовместим. Редактор DHTML, вероятно, имеет другой метод ввода данных, который не требует, чтобы вы что-то взломали. По большей части, это, как правило, риск для безопасности.

Кроме того, это, вероятно, совсем другой контроль, и он может даже не реагировать на нажатия клавиш.

Возможно, вы можете уточнить, что вы пытаетесь - возможно, есть лучшее решение, чем отправка ключевых штрихов.

+0

Спасибо, но хотя Sendkeys не работает на Vista, упомянутая замена делает. Также проблема не в более новой версии окон, а на xp. Я пытаюсь вставить/вставить текст в текущей позиции в элементе управления dhtml – kjack

0

Я закончил с использованием этого безвкусный раствор

Clipboard.SetText "zzz" 
DHTMLEdit1.ExecCommand DECMD_PASTE, OLECMDEXECOPT_DODEFAULT 
DHTMLEdit1.SetFocus 

на Висте, а позже это эффект такой же, как SendKeys.

На xp он правильно вставляет текст, но не оставляет вас с мигающим курсором (вам нужно вручную нажать кнопку управления , чтобы возобновить ввод текста с клавиатуры).