c 语言 vk_return,为何“VK_RETURN”消息发不过去呢,请帮忙看看?(100分)

我在自己的程序中发送消息给给第三方程序的Edit编辑框,文本能够发送成功,但是“VK_Return”却无法成功,调试了三天还是没有搞懂原因!请大家看看我的代码是否有错?

************************************************************************

var

vHandle, ChildHandle: HWND;

vPath: Array[0..255] Of Char;

begin

vPath := '我的文本';

if Msg.Msg = WM_MYMESSAGE then

begin

vHandle := GetHWnd;

ChildHandle := GetChildHWnd;

SendMessage(ChildHandle, WM_SETTEXT, 0, Longint(@vPath));

//SetActiveWindow(vHandle);

//SetForegroundWindow(Handle);

SendMessage(vHandle, WM_SETFOCUS, 0, 0);

SendMessage(ChildHandle, WM_KEYDOWN, 0, VK_RETURN);

SendMessage(ChildHandle, WM_KEYUP, 0, VK_RETURN);

end;

end;

vHandle为第三方程序接收消息的窗体,同时 ChildHandle 为该窗体上的Edit控件,上面的

SendMessage(ChildHandle, WM_SETTEXT, 0, Longint(@vPath));发送正常,但是下面的

SendMessage(ChildHandle, WM_KEYDOWN, 0, VK_RETURN);

SendMessage(ChildHandle, WM_KEYUP, 0, VK_RETURN);

不知道为什么老是没有反应!

照道理这段代码是正确的啊,但是就是没有反应!

我跟踪调试发现在WM_SETTEXT消息后该窗体句柄就失去焦点,唉~

总的来说就不清楚为什么会这样,大家帮帮忙吧!

这里先谢谢了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值