delphi 中怎么向一个非活动窗口发送组合键
在delphi编程中怎么向一个非活动的窗口发送CTRL+1,是非活动的窗口不是当前窗口,也不要把它激活成当前窗口,所以要用keybd_event来实现的就不要发了...
在delphi编程中怎么向一个非活动的窗口发送CTRL+1,是非活动的窗口不是当前窗口,也不要把它激活成当前窗口,所以要用keybd_event来实现的就不要发了
展开
3个回答
2013-04-13
展开全部
这个简单饿楼上的方法正确, 但是没有取目标窗口句柄我不知道你是什么窗口思路是用FindWindow来取窗口句柄然后对目标窗口发送按键消息如果是目标窗口的子窗口在取得目标窗口句柄以后再用FindWindowEx取子窗口句柄方法一样我举个计算器的例子吧procedure TForm1.Button1Click(Sender: TObject);
var
TargetHandle: HWND; {目标句柄}
begin
TargetHandle := FindWindow(nil, PChar('Calculator')); {取计算器窗口句柄}
if TargetHandle > 0 then {如果句柄有效}
PostMessage(TargetHandle, WM_KEYDOWN, Ord('1'), 0); {发送消息}
end;
var
TargetHandle: HWND; {目标句柄}
begin
TargetHandle := FindWindow(nil, PChar('Calculator')); {取计算器窗口句柄}
if TargetHandle > 0 then {如果句柄有效}
PostMessage(TargetHandle, WM_KEYDOWN, Ord('1'), 0); {发送消息}
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
装一个键盘钩子,可以监视到键盘动作。可以参见《labview深入windows编程》这本书
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-13
展开全部
可以用Windows API函数来实现。
SendMessage();具体请查阅api资料。
SendMessage();具体请查阅api资料。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询