vbnet 进程监控,监控Acad开启的数量,并且添加到开机启动
1# 自定义函数,添加到注册表

1 Public Sub StartRunRegHKLM() 2 3 REM HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432Node \ Microsoft \ Windows \ CurrentVersion \ Run 4 5 Dim strName As String = Application.StartupPath + "\" + Application.ProductName + ".exe" 6 7 Dim strNewName As String = System.IO.Path.GetFileNameWithoutExtension(strName) 8 If Not System.IO.File.Exists(strName) Then Return 9 Try 10 Dim Rkey As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Run", True) 11 If IsNothing(Rkey) Then 12 Rkey = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Run") 13 Rkey.SetValue(strNewName, Chr(34) & strName & Chr(34)) '修改注册表,使程序开机时自动执行. 14 Else 15 Rkey.SetValue(strNewName, Chr(34) & strName & Chr(34)) '修改注册表,使程序开机时自动执行。 16 End If 17 Catch ex As Exception 18 MessageBox.Show(ex.Message, "StartRun") ' //MessageBox.Show(ex.Message); 19 End Try 20 End Sub
2# timer 事件中写入处理机制,不笔者限制ACAD程序最多运行2个

1 Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick 2 Dim listacad = CheckAppProcess("acad"), proAcad As Process 3 If listacad.Count > 2 Then 4 Me.Timer1.Stop() 5 If MessageBox.Show("进程数量超过服务器的载荷!请排队等候", "AutoCAD 报告", MessageBoxButtons.OK, MessageBoxIcon.Warning) = DialogResult.OK Then 6 For index = listacad.Count - 1 To 2 Step -1 7 proAcad = listacad(index) 8 If Not proAcad.HasExited Then proAcad.Kill() 9 Next 10 Me.Timer1.Start() 11 End If 12 End If 13 End Sub
3# 读取进程的数量

1 Public Function CheckAppProcess(appName As String) As List(Of Process) 2 Dim pros As Process() = Process.GetProcesses() 3 Dim processAcad As List(Of Process) = New List(Of Process)() 4 For Each p As Process In pros 5 If p.ProcessName = "acad" Then processAcad.Add(p) 6 Next 7 Return processAcad 8 End Function
4# 最后将相关的启动timer空间的语句写入到程序开始

1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 2 Me.Timer1.Interval = 3000 3 Me.Timer1.Start() 4 End Sub
运行开机启动需要提权到管理员权限
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具