窗口切换的问题?

董董 2002-11-03 09:30:25
怎样在Delphi程序中,控制当前程序和其他Windows程序的窗口切换?

  如当前活动窗口是Delphi程序,MS Word先前被打开且是非活动窗口,在Delphi程序中编程,把Word变成当前的活动窗口(得到输入焦点),也就是改变窗口的Z order。

  我试过调用SetActiveWindow函数,但当有多个不同的应用程序窗口打开时,Word并不能被切换到前台,成为当前活动窗口。
...全文
219 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangchao_7622 2002-11-13
  • 打赏
  • 举报
回复
上面的函数都不可以的。
我试过。
knock 2002-11-06
  • 打赏
  • 举报
回复
这样可以:
先得到WORD的句柄 hdl,不难吧?
调用:ShowWindow(hwnd,SW_RESTORE);//SW_RESTORE 使窗口激活显示
ZHENG017 2002-11-06
  • 打赏
  • 举报
回复
试试BOOL BringWindowToTop( HWND hWnd );
knock 2002-11-05
  • 打赏
  • 举报
回复
use this API:

ShowWindow(hwnd,SW_SHOWNORMAL);
dext 2002-11-04
  • 打赏
  • 举报
回复
BOOL SetForegroundWindow(
HWND hWnd // handle of window to bring to foreground
);
董董 2002-11-04
  • 打赏
  • 举报
回复
SetForegroundWindow函数我也试过了,根本不起作用,还不如SetActiveWindow函数,因在某种窗口层叠情况下,SetActiveWindow还起作用。

  不过,也可能是我调用方式上有什么问题。谁有成功调用的源代码,请贴出来?

blazingfire 2002-11-03
  • 打赏
  • 举报
回复
SetActiveWindow不行的,要设置不同应用程序中的当前窗体要用:
SetForegroundWindow(hForm:THandle);

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧