vb.net关闭句柄 vb获取句柄并控制

怎样才能用VB.NET的代码来关闭一个在运行的程序

软糖来回答罗:通过System.Diagnostics命名空间下的Process类来关闭程序的进程

港北ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

Dim 进程集合 = Process.GetProcessesByName("进程名称")

For Each 进程 In 进程集合

进程.Kill()

'进程.Close() '或者使用关闭

Next

也可以先获取所有进程,再来判断这些进程的名称ProcessName

Dim 获取本地所有进程 = Process.GetProcesses()

For Each 进程 In 获取本地所有进程

If 进程.ProcessName = "explorer.exe" Then 进程.Kill()

Next

vb.net 定时关闭messagebox

.net 和vb不一样。 窗口句柄之类的要声明称interger 32位的才行 如果在。net中 声明成long 那就执行不成功

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer

Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer

声明完后

Me.Timer1.Enabled = True

Me.Timer1.Interval = 10000

MessageBox.Show("xinjing", "haha")

Timer1.Enabled = False

在timer的tick中

Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Dim hWnd As Integer

hWnd = FindWindow(vbNullString, "haha")

If hWnd Then

'查找到窗口则关闭

PostMessage(hWnd, H10, 0, 0)

End If

End Sub

就可解觉问题

纯粹自问自答 在网上找了好久也没找到 最后自己摸索下 就记在这儿了

vb.net 创建窗口句柄时出错,Timer 中出现问题

因为你窗口关闭的时候Time并没有释放,但是此时Label已经不能访问了

才会出现窗口句柄出错,你试试加上下面的话

Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing

timer1.Close()

timer2.Close()

End Sub

应该就不会报错了。

希望能帮到你。


本文名称:vb.net关闭句柄 vb获取句柄并控制
本文来源:http://pwwzsj.com/article/hpedod.html