軟糖來回答羅:通過System.Diagnostics命名空間下的Process類來關閉程序的進程
港北ssl適用于網站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信: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
.net 和vb不一樣。 窗口句柄之類的要聲明稱interger 32位的才行 如果在。net中 聲明成long 那就執(zhí)行不成功
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
就可解覺問題
純粹自問自答 在網上找了好久也沒找到 最后自己摸索下 就記在這兒了
因為你窗口關閉的時候Time并沒有釋放,但是此時Label已經不能訪問了
才會出現(xiàn)窗口句柄出錯,你試試加上下面的話
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
應該就不會報錯了。
希望能幫到你。