如何切换指定窗口到最前并获得焦点

{  
    文章名   : 如何切换指定窗口到最前并获得焦点
    说明     : SwitchToThisWindow在Win2000以上才有,在9x用不了别怪偶
    作者     : JJony
    QQ       : 254706028
    博客     : http://blog.csdn.net/jzj_jony
    空间     : http://jonychen,ys168.com
    测试环境 : WinXPSP2+Delphi7
    声明     : 您可以任意转载,但请注明文章作者和出处
}

    如何切换指定窗口到最前并获得焦点

    今天在DFW看到有人问"一个相对较简单的问题(窗口激活) 真的很失望,200分,我感觉一个不是太复杂

的问题,论坛竟然没有人会?[?] ",呵呵,口气不小,而且说话还有点那个,本来这个问题我想回答的,不

过他既然说DFW没人,偶也不好驳人面子,就在我的Blog发了吧,看不看到是他的事,反正偶不爱和那人

说话。
    好了不说废话了,说说具体的吧,要实现“切换指定窗口到最前并获得焦点”,很简单,我们只需一

个函数就OK了,那就是SwitchToThisWindow,这个函数估计知道的人不多,是从user32.dll导出的,其原

形为:

procedure SwitchToThisWindow(hWnd:Thandle;    //窗体句柄
                             fAltTab:boolean  //设为true相当于按ALT+TAB切换到指定窗口,至于 

                                            //为false是效果自己看吧,偶不会说了
                             );

具体实例:
//静态加载SwitchToThisWindow
procedure SwitchToThisWindow(hWnd:Thandle;fAltTab:boolean);stdcall;external 'User32.dll';

procedure TForm1.Button1Click(Sender: TObject);
var
 h:thandle;
begin
 h:=findwindow(nil,'test');
 SwitchToThisWindow(h,true);
end;
是不是很简单,好了偶去睡午觉了。 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值