VB下簡單的不讓人關(guān)閉的程序請照:
創(chuàng)新互聯(lián)公司主營東麗網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,APP應(yīng)用開發(fā),東麗h5小程序開發(fā)搭建,東麗網(wǎng)站營銷推廣歡迎東麗等地區(qū)企業(yè)咨詢
Private
Sub
Form_Unload(Cancel
As
Integer)
Cancel
=
True
End
Sub
做。也就是在Unload事件中加個(gè)代碼就是。
想不讓人點(diǎn)窗體上的關(guān)閉按扭最簡單的就是不含標(biāo)題的窗。
此外,可以搞個(gè)熱鍵去捕獲Alt+F4,以使用戶不能這樣關(guān)窗。
如果想高級(jí)一點(diǎn),比如使任務(wù)管理器也不能關(guān)了這個(gè)程序,那難度就大了。最常見的是進(jìn)程守護(hù),就是同時(shí)用兩個(gè)程序相互守望。其它的方法就不是一兩句能說清的了。
軟糖來回答羅:通過System.Diagnostics命名空間下的Process類來關(guān)閉程序的進(jìn)程
Dim?進(jìn)程集合?=?Process.GetProcessesByName("進(jìn)程名稱")
For?Each?進(jìn)程?In?進(jìn)程集合
進(jìn)程.Kill()
'進(jìn)程.Close()?'或者使用關(guān)閉
Next
也可以先獲取所有進(jìn)程,再來判斷這些進(jìn)程的名稱ProcessName
Dim?獲取本地所有進(jìn)程?=?Process.GetProcesses()
For?Each?進(jìn)程?In?獲取本地所有進(jìn)程
If?進(jìn)程.ProcessName?=?"explorer.exe"?Then?進(jìn)程.Kill()
Next
主窗體代碼調(diào)用Me.close不就可以了嗎?或者在任意代碼處調(diào)用Application.Exit()。如果不起作用的話是因?yàn)槟阍诖绑w關(guān)閉的事件中調(diào)用了e.Handle=True
好像不難吧?
我放進(jìn)了Button1的Click事件里。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
On Error GoTo Errmessages '在做系統(tǒng)操作時(shí)加排錯(cuò)標(biāo)簽是個(gè)好習(xí)慣
Dim TargetName As String = "ibmdict" '存儲(chǔ)進(jìn)程名為文本型,注:進(jìn)程名不加擴(kuò)展名
Dim TargetKill() As Process = Process.GetProcessesByName(TargetName) '從進(jìn)程名獲取進(jìn)程
Dim TargetPath As String '存儲(chǔ)進(jìn)程路徑為文本型
If TargetKill.Length 1 Then '判斷進(jìn)程名的數(shù)量,如果同名進(jìn)程數(shù)量在2個(gè)以上,用For循環(huán)關(guān)閉進(jìn)程。
For i = 0 To TargetKill.Length - 1
TargetPath = TargetKill(i).MainModule.FileName
TargetKill(i).Kill()
Next
ElseIf TargetKill.Length = 0 Then '判斷進(jìn)程名的數(shù)量,沒有發(fā)現(xiàn)進(jìn)程直接彈窗。不需要的,可直接刪掉該If子句
MsgBox("沒有發(fā)現(xiàn)進(jìn)程!")
Exit Sub
ElseIf TargetKill.Length = 1 Then '判斷進(jìn)程名的數(shù)量,如果只有一個(gè),就不用For循環(huán)
TargetKill(0).Kill()
End If
MsgBox("已終止" TargetKill.Length "個(gè)進(jìn)程") '彈窗提示已終止多少個(gè)進(jìn)程
Errmessages: ‘定義排錯(cuò)標(biāo)簽
If Err.Description Nothing Then ’判斷有無錯(cuò)誤,如果有,則 ↓
MsgBox(Err.Description) '當(dāng)出現(xiàn)錯(cuò)誤時(shí),彈窗提示
End If
End Sub
可根據(jù)需要自行修改,這個(gè)備注夠完善了吧?不會(huì)的再Hi我。