VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2003/02/06(Thu) 17:08
投稿者たけ
URL
タイトルRe^4: SendInputの使い方

> > 早速試してみました。が、CTRL+ESCだと、スタートメニューが開いたのでESCだけにしました。
> ESC キーが機能したかのテスト用のサンプルですので当然です。

私の返信がまずかったです。
CTRL+ESCで、NT、2000ともスタートメニューが開きました。
ということは、SendInput自体は動作しているようです。

> > ところが、NTではうまくいきましたが、2000ではだめでした。

何がうまくいかないのかも説明不足でした。

VBで作った画面が二つあり(別々のexeファイル)、そのなかにVS-FlexGrid
(MS-FlexGridの正式版)があります。
このセルにデータを編集中に画面を一方に切り換え、戻ってきたときに
編集中のデータをキャンセルしていました。
NTのときは、画面切り替わり時に、コントロールにSetFocusして、Keybd_Event
でESCを出すと、編集中のデータがキャンセルできました。
2000ではこれができません。Keybd_EventからSendInputに変更してもできませんでした。
これが今起こっている不具合です。

SPY++で調べたのですが、2000では、SetFocusした直後にKillFocusがなぜか
走っています。NTにはありません。
2000ではFocusを当てただけでは、アクティブにならないようです。

ここまでわかったのですが、解決策が見つかりません。

混乱させてすいませんでした。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -