分类: Windows平台
2013-08-17 17:18:39
标题不够具体,详细点说就是:程序运行的时候主窗体是隐藏的,只有一个工具栏图标,通过全局热键的响应,弹出一个副窗体,我希望这个窗体在显示的时候是最前端的(顶端显示 OnTop),并且是当前窗口,方便我使用键盘输入内容。所以需求很简单,顶端,获得焦点,看上去很容易实现,却想不到折腾了很久!
按常规的做法,设置 StayOnTop,ShowModal,SetFoucs,都试过了,虽然显示在最前面,但这个窗口始终没有获得焦点,在OnShow加代码,加Timer,重载CreateParams,通通不行。这么简单的要求都做不到,Windows实在让人很晕啊。
最后无意之间在百度中找一个API,终于实现了这个目的,实在得来全不费工夫啊。Windows的问题还是靠Windows解决啊。
废话讲完了,这个API就是SwitchToThisWindow。
函数功能
该函数将焦点切换指定的窗口,并将其带到前台。
函数原型: VOID SwitchToThisWindow(HWND hWnd, BOOL fAltTab)
用法:
点击(此处)折叠或打开