【发布时间】:2015-08-24 12:38:34
【问题描述】:
我想最小化除我自己以外的所有应用程序,但使用下面的代码,我的应用程序不再显示。
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, _
ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP = &H2
Private Const VK_LWIN = &H5B
Sub minimizeAllOthers()
Me.WindowState=WindowState.Minimized
keybd_event(VK_LWIN, 0, 0, 0)
keybd_event(77, 0, 0, 0)
keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0)
While Me.WindowState=WindowState.Minimized
Me.WindowState=WindowState.Normal
Me.windowstate=WindowState.Maximized
Threading.Thread.Sleep(400)
End Sub
【问题讨论】:
-
通常,在这种情况下最好的方法是 Me.TopMost = true。用户将独立于其他正在运行的应用程序看到您应用程序的活动窗口。
-
@varocarbas 我正在从我的应用程序启动其他窗口
-
不确定我是否理解您的观点,但 Me.TopMost 比 Me.WindowState 更“强大”。如果您使用 Me.TopMost,您的应用程序的活动窗口肯定会位于任何其他窗口的顶部。
-
@varocarbas
Me.TopMost和Me.WindowState完全不同! -
@Drarig29 OP 表示原始海报。这是一个首字母缩略词,在大多数论坛中用于指代撰写初始帖子(或在此处提问)的人。我已经看到了您的修改,但不确定它是否提供了预期的效果。还是等OP的反馈吧。