Process.GetProcessesByName()
传递"notepad"
.MainWindowHandle
从返回的进程中读取.ShowWindow()
传递SW_HIDE
或SW_SHOW
隐藏/显示窗口.的的P/Invoke签名是:
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function ShowWindow(ByVal hwnd As IntPtr, ByVal nCmdShow As Integer) As Boolean
End Function
Run Code Online (Sandbox Code Playgroud)
该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
Run Code Online (Sandbox Code Playgroud)
从文档:
此函数将show-window事件发布到给定窗口的消息队列.应用程序可以使用此功能来避免在等待无响应的应用程序完成处理显示窗口事件时变得无响应.