https://mbb.eet-china.com/forum/topic/87218_1_1.html
1.介绍
一直想写一个可以隐藏窗口的工具,今天它来了,使用VB.NET写了一个,调用了windos的API,将窗口隐藏起来,这里只是一个简单的设计,一会源码会在最后贴出来,代码不超过一百五十行,是不是非常的惊讶,接下来我们就开始吧!
2.设计
首先在上一篇的文章中添加界面,添加一个列表和两个按钮,如下图1所示。
图1
然后修改添加如下代码,主要是获取的窗口进程名称,窗口进程的Handle和窗口进程的数量,最主要的就是Handle这个参数,通过这个可以调用接口修改窗口属性!
图2
然后运行程序测试一下,通过图3可以看到拥有窗口的进程已经显示在有右边的列表中了。
图3
接下来继续添加代码,这里的代码是通过查询一些windows的api网站了解的,添加如下图4和图5代码。
图4
图5
然后添加两个按键按下的事件,代码如下。
Private Sub btnHide_Click(sender As Object, e As EventArgs) Handles btnHide.Click ShowWindow(myProcessesHandle(listWindowProcess.SelectedIndex), ShowWindowCommands.Minimize) '最小化 SetWindowLong32(myProcessesHandle(listWindowProcess.SelectedIndex), WindowLongFlags.GWL_EXSTYLE, WS_EX_NOACTIVATE) '隐藏窗口,这个好用 End Sub Private Sub btnShow_Click(sender As Object, e As EventArgs) Handles btnShow.Click SetWindowLong32(myProcessesHandle(listWindowProcess.SelectedIndex), WindowLongFlags.GWL_EXSTYLE, WS_EX_APPWINDOW) '显示窗口,这个好用 ShowWindow(myProcessesHandle(listWindowProcess.SelectedIndex), ShowWindowCommands.ShowNoActivate) '显示 ShowWindow(myProcessesHandle(listWindowProcess.SelectedIndex), ShowWindowCommands.Show) '显示 End Sub
复制代码图6
然后直接点击显示窗口按钮,则隐藏的窗口显示出来了,如图7所示。
图7
3.总结
可以发现,windows的这个api还是非常有用的,大家可以根据自己的需求设计相应的功能,设计一个全局热键来代替界面上的按钮,那就可以通过快捷键来隐藏窗口了!是不是美滋滋的!更多用处大家自行发掘~
Demo源码:
游客,如果您要查看本帖隐藏内容请回复
如果能加摄像头图像捕捉和识别自动切换,应该是及其完美的。