0

下面的代码会将击键发送到 Windows Vista 上的 DHTML 编辑控件,而不是 Windows xp 上。

DHTMLEdit1.SetFocus
MySendKeys ("zzz")

MySendKeys 指的是Karl Peterson为 windows vista 及更高版本编写的 VB6 Sendkeys 的替代品。但我认为这无关紧要,因为以下代码也不适用于 xp

DHTMLEdit1.SetFocus
SendKeys ("zzz")

在 windows xp 上,根据 vb6 中的项目组件窗口,DHTML 编辑控件是“IE5 的 DHTML 编辑控件”。在 windows vista 上,它是“DHTML 编辑控件”,它没有预装在 Windows 中,但可以从 Microsoft 获得

有谁知道如何使它工作?

4

2 回答 2

0

SendKeys()不再那么兼容了。DHTML 编辑器可能有另一种输入数据的方法,不需要您像这样一起破解某些东西。在大多数情况下,这通常是一种安全风险。

此外,它可能完全是一个不同的控件,它甚至可能无法正确响应击键。

也许您可以详细说明您正在尝试什么 - 也许有比发送击键更好的解决方案。

于 2013-08-15T19:12:30.050 回答
0

我最终使用了这个不雅的解决方案

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

在 vista 和更高版本上,它的效果与 sendkeys 相同。

在 xp 上,它会正确插入文本,但不会留下闪烁的光标(您必须手动单击控件才能恢复从键盘输入)。

于 2013-08-23T08:48:42.507 回答