delphi切换指定窗口到最前并获得焦点 今天在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; |
|