鲁锦用的不是VB,如果你要进程管理程序源码,我这有,你的Email?
我的email: [email protected]
我的email: [email protected]
解决方案 »
- 怎样获取鼠标点击的坐标?
- 如何取得传真控制台的数据
- 请教高手:为什么安装VB6后Explorer.exe开机就占50%以上CPU
- 再开一贴:WORD2007 组合对象如何设置排版格式为嵌入式
- 统计字符的个数的函数,怎么老“报无效的参数调用“错!请指教
- 函数int(rnd(0)*100)是在哪个范围内的整数?
- 一个vb编译的问题
- 急急急!!!跪求VB图书馆管理系统软件源码 对了要系统要有BBS哦
- 》》》傻瓜问题?我的软件超过1MB用FTP上传到我的个人主页时出错。。提个意见。。
- 请问WIN32API中的GETCAPTURE函数怎么用?
- 请教vb高手!!
- 怎样使已编译好的vb应用程序,去执行一段写在文本文件中的vb源程序代码!
是完整的源码吗???
买的话可以谈谈~
[email protected]
[email protected]
Private Const MAX_PATH As Integer = 260
Type PROCESSENTRY32
dwSize As Long
cntUsage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32ModuleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
dwFlags As Long
szExeFile As String * MAX_PATH
End TypePrivate Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessID As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Private Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Long)Public ListOfActiveProcess() As PROCESSENTRY32Public Function GetActiveProcess(Optional strFile As String) As Long '读取活动进程
Dim hToolhelpSnapshot As Long
Dim tProcess As PROCESSENTRY32
Dim R As Long, i As Integer
hToolhelpSnapshot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)
If hToolhelpSnapshot = 0 Then
GetActiveProcess = 0
Exit Function
End If
With tProcess
.dwSize = Len(tProcess)
R = ProcessFirst(hToolhelpSnapshot, tProcess)
Do While R
If strFile = "" Then
i = i + 1
ReDim Preserve ListOfActiveProcess(1 To i)
ListOfActiveProcess(i) = tProcess
Else
If LCase(strFile) = LCase(fDelInvaildChr(tProcess.szExeFile)) Then
Call Terminate_Process(tProcess.th32ProcessID)
GetActiveProcess = -1
GoTo 1
End If
End If
R = ProcessNext(hToolhelpSnapshot, tProcess)
Loop
End With
GetActiveProcess = i
1:
Call CloseHandle(hToolhelpSnapshot)
End Function'结束进程
Public Function Terminate_Process(ByVal process_ID As Long)
Dim lProcess As Long
Dim lReturn As Long
lProcess = OpenProcess(&H1F0FFF, 0&, process_ID)
lReturn = TerminateProcess(lProcess, 0&)
End Function''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'去掉固定长度字符串右边的NULL字符(ASCII值为0)和SPACE字符(ASCII值为32)函数
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Function fDelInvaildChr(ByVal str As String) As String
On Error Resume Next
Dim i As Long
str = Trim(str)
For i = Len(str) To 1 Step -1
If Asc(Mid(str, i, 1)) <> 0 And Asc(Mid(str, i, 1)) <> 32 Then
fDelInvaildChr = Left(str, i)
Exit For
End If
Next
End Function
ListOfActiveProcess数组中记录的就是所有活动进程ListOfActiveProcess(1).szExeFile '进程的名称GetActiveProcess ListOfActiveProcess(1).szExeFile '就是要关闭的文件名Terminate_Process ListOfActiveProcess(1).th32ProcessID '这样也可以