Imports System.Diagnostics
Public Class 禁止使用程序窗体
Private Sub 杀死程序按钮_Click(sender As Object, e As EventArgs) Handles 杀死程序按钮.Click
SaveSetting("大表哥工具箱", "禁用程序", "程序名称", 程序名称.Text) '将禁用的程序名称写入注册表
ListBox2.Items.Add(程序名称.Text)
Timer1.Enabled = True '启动无限杀死
'Me.Visible = False '隐藏窗体
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
On Error Resume Next
Dim 程序
Dim s
For Each 进程 In ListBox2.Items
程序 = GetObject("winmgmts:").ExecQuery("select * from Win32_Process where name='" & 进程.ToString & "'")
For Each Process In 程序
System.Windows.Forms.Application.DoEvents() '转交控制权,否则容易假死
Process.Terminate(0) '终结
Next
System.Windows.Forms.Application.DoEvents() '转交控制权,否则容易假死
Next
End Sub
Private Sub 恢复使用按钮_Click(sender As Object, e As EventArgs) Handles 恢复使用按钮.Click
Timer1.Enabled = False '未隐藏本窗体时可用
End Sub
Private Sub 禁止使用程序窗体_Load(sender As Object, e As EventArgs) Handles MyBase.Load
程序名称.Text = GetSetting("大表哥工具箱", "禁用程序", "程序名称") '获取已经禁用的程序名称
Call 加载进程列表()
End Sub
Sub 加载进程列表()
'加载用户进程列表
Dim MyProcesses() As Process = Process.GetProcesses()
For Each MyProcess As Process In MyProcesses
If (MyProcess.MainWindowTitle.Length > 0) Then
ListBox1.Items.Clear() '清空列表
ListBox1.Items.Add(MyProcess.MainWindowTitle)
End If
Next
'加载用户管理器的其他进程
Dim objs = GetObject("WinMgmts:").InstancesOf("Win32_Process")
For Each Obj In objs
ListBox1.Items.Add(Obj.Description.ToString)
Next
End Sub
Private Sub ListBox1_DoubleClick(sender As Object, e As EventArgs) Handles ListBox1.DoubleClick
For Each 项 In ListBox1.SelectedItems
ListBox2.Items.Add(项.ToString) '将选项加载到listbox2
Next
End Sub
End Class
VB.NET禁止使用程序
最新推荐文章于 2024-07-17 17:56:03 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)