隐藏/显示程序窗口

时间:2011-04-30 11:30:21

标签: windows vb.net

我正在使用Visual Basic 2008

例如我已经运行notepad.exe,我可以隐藏记事本窗口,然后如果我需要它再次显示它吗?

感谢。

1 个答案:

答案 0 :(得分:5)

P/Invoke signature是:

<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function ShowWindow(ByVal hwnd As IntPtr, ByVal nCmdShow As Integer) As Boolean
End Function

ShowWindow()主题列出了SW_*标记的数值。


感谢@Alex K建议使用ShowWindowAsync()而不是ShowWindow()作为评论。

<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function ShowWindowAsync(ByVal hwnd As IntPtr, ByVal nCmdShow As Integer) As Boolean
End Function

来自文档:

  

此功能发布一个显示窗口   事件到消息队列   给定窗口。应用程序可以使用   这个功能可以避免成为   等待时没有反应   无响应的申请表   处理展示窗口事件。