SendKeys :: Send,be berserk

Joh*_*ohn 1 .net c++-cli hang infinite-loop sendkeys

我正在尝试更新两个链接TextBoxes.我在一个中禁用事件然后使用例如SendKeys::Send("A");首先给它焦点发送击键:

texBox2->Focus();
texBox2->KeyDown -= gcnew KeyEventHandler(this, &Form1::texBox2_KeyDown);
SendKeys::Send("A");
texBox2->KeyDown += gcnew KeyEventHandler(this, &Form1::texBox2_KeyDown);
Run Code Online (Sandbox Code Playgroud)

几乎可以工作,但完全是心理而不是重复这个角色(我不敢去检查哪个确切的键因为我疯狂地消防溢出)直到我按下control-alt-del.没有其他键有任何影响,鼠标冻结.但任务经理奇迹般地恢复了我的控制权,我不会停止或杀死任何东西.

任何人都可以建议吗?调试器挂起在该SendKeys::Send("A");语句上.

Dav*_*nan 5

SendKeys将输入放在排队的消息队列中,因此重新连接事件后将进行处理.因此,古怪.

我的建议是停止使用SendKeys更新你自己的控件的内容.只需直接修改文本框的内容即可.