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 エディット コントロール」です

誰かがそれを機能させる方法を知っていますか?

4

2 に答える 2

0

私はこの洗練されていないソリューションを使用してしまいました

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

Vista 以降では、その効果は sendkeys と同じです。

xp では、テキストは正しく挿入されますが、点滅するカーソルは残りません (キーボードからの入力を再開するには、コントロールを手動でクリックする必要があります)。

于 2013-08-23T08:48:42.507 に答える
0

SendKeys()あまり互換性がありません。DHTML エディターには、そのようなハッキングを必要としない別の方法でデータを入力できる可能性があります。ほとんどの場合、これは通常、セキュリティ リスクです。

また、まったく別のコントロールである可能性が高く、キー ストロークに適切に応答しないことさえあります。

おそらく、あなたがしようとしていることについて詳しく説明することができます.キーストロークを送信するよりも良い解決策があるかもしれません.

于 2013-08-15T19:12:30.050 に答える