【摸鱼神器】Part1:使用VB.NET获取电脑的进程列表
https://mbb.eet-china.com/forum/topic/87218_1_1.html


1.介绍

一直想写一个可以隐藏窗口的工具,今天它来了,使用VB.NET写了一个,调用了windos的API,将窗口隐藏起来,这里只是一个简单的设计,一会源码会在最后贴出来,代码不超过一百五十行,是不是非常的惊讶,接下来我们就开始吧!
2.设计
首先在上一篇的文章中添加界面,添加一个列表和两个按钮,如下图1所示。
1.png
图1

然后修改添加如下代码,主要是获取的窗口进程名称,窗口进程的Handle和窗口进程的数量,最主要的就是Handle这个参数,通过这个可以调用接口修改窗口属性!
2.png
图2

然后运行程序测试一下,通过图3可以看到拥有窗口的进程已经显示在有右边的列表中了。
3.png
图3

接下来继续添加代码,这里的代码是通过查询一些windows的api网站了解的,添加如下图4和图5代码。
4.png
图4

5.png
图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所示。
    6.png
    图6

    然后直接点击显示窗口按钮,则隐藏的窗口显示出来了,如图7所示。
    7.png
    图7

    3.总结
    可以发现,windows的这个api还是非常有用的,大家可以根据自己的需求设计相应的功能,设计一个全局热键来代替界面上的按钮,那就可以通过快捷键来隐藏窗口了!是不是美滋滋的!更多用处大家自行发掘~
    Demo源码:
    游客,如果您要查看本帖隐藏内容请回复