VB怎样取消后台的CAD正在执行的命令,达到在CAD里按ESC一样的效果。

使用VB开发autocad的时候,需要结束CAD中正在执行的其他命令。
目前我使用找到CAD的句柄,然后前置CAD 向其SENDKEYS 的办法。
现在想不前置CAD,让其一直在后台,达到相同的效果,不知如何可以办到。
注意是VB不是VBA,^c^c不可以,sendcommand chr(3) 也需要等待现有命令执行完毕才相应。那位大神帮帮我。。。
曾尝试获得命令行的句柄,但一直没成功。。。
请告诉具体的代码~谢谢。
请直接告诉我可行的办法~谢谢
SENDMESSAGE 和 POSTMESSAGE 发过去的消息要排队等到手动ESC之后才执行。。。

第1个回答  2010-01-19
SPYLITE这个软件还是挺好用的。。主要是获取句柄的。2.4的我觉得一般够用。记得把16位去掉。

SENDMESSAGE的方式可能更好用。
POSTMESSAGE
格式是
PostMessage(HWND, &H102, ASC, ByVal 0&)
或者是SENDMESSAGE
SendMessage hwnd, WM_CHAR, ASC, &H11C0001
SendMessage hwnd, WM_KEYDOWN, ASC, &H11C000
SendMessage hwnd, WM_CHAR,ASC, &H11C000本回答被网友采纳
第2个回答  2010-01-20
SendKeys函数只是模拟按键,但不会区别到底按在哪里。

Win API函数SendMessage可以把键盘消息发送到你指定窗体句柄。
使用API函数前需要首先用Declare语句声明,在VB6里可以添加这个声明。

注意,KEYDOWN和KEYUP一次,才算是完成一次按键过程
SendMessage hwnd,WM_KEYDOWN,键盘asc码
SendMessage hwnd,WM_KEYUP,键盘asc码
第3个回答  2010-01-22
11111111111111111111111

SendKeys函数只是模拟按键,但不会区别到底按在哪里。

Win API函数SendMessage可以把键盘消息发送到你指定窗体句柄。
第4个回答  2010-01-22
SENDMESSAGE的方式可能更好用。
POSTMESSAGE
格式是
相似回答