请教如何使窗体被激活

dxbamboo 2006-09-18 09:57:52
我想实现这样一个功能:
用VB程序A控制另一个程序B(B为别人写的程序,B运行时的界面充满整个屏幕)。
我在A中用ShowWindow(B_hwnd, SW_SHOWNA)可以把B显现出来,但A在B的前面。我如果再用
SetWindowPos(B_hwnd, -1, 0, 0, 0, 0, 3)呢,B是在最前面了,但我的屏幕上不可能在
显示其它的窗口了,用Alt+Tab也没法使其它的窗口在显示在B的前面了(B保持在最前面了)。
请教大家,用什么方法可以使B在A的前面即被激活,但其它的窗口如A还可以重新被切换回来,
而被激活。
谢谢
...全文
217 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zq972 2006-09-18
  • 打赏
  • 举报
回复
VB声明
Declare Function SetForegroundWindow Lib "user32" Alias "SetForegroundWindow" (ByVal hwnd As Long) As Long
说明
将窗口设为系统的前台窗口。这个函数可用于改变用户目前正在操作的应用程序
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hwnd Long,带到前台的窗口
wully 2006-09-18
  • 打赏
  • 举报
回复
你可以用shell调用,不用API

Dim intI As Integer
intI = Shell(路径, vbNormalFocus)
vinegar111 2006-09-18
  • 打赏
  • 举报
回复
如果你的a用的是form的话,用form.hide可以隐藏a窗口的

1,486

社区成员

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

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