react constructor:自动保存当前进程的程序

来源:百度文库 编辑:神马品牌网 时间:2024/05/03 06:45:08
我想下载一个程序或者自己用VB做一个程序,程序
只要一运行(不作任何操作),就自动保存当前进程,
以文本方式保存,怎么实现啊,

' 添加一个ListBox
'切换到代码窗口输入:
Option Explicit
Dim ProcessID() As Long ' 按list1中的进程顺序存储所有进程ID

'---------- API类型声明 -----------
Private 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 * 1024
End Type

'----------------------------------------- API声明 -------------------------------------------------------
Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long
Private Declare Function Process32First Lib "kernel32" (ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long

'---------------------------------------- API常数声明 ------------------------------------------------------
Private Const TH32CS_SNAPPROCESS = &H2

Private Sub Form_Load()
Dim i As Integer
Open "process.txt" For Output As #1
Dim Process As PROCESSENTRY32
Dim ProcSnap As Long
Dim cntProcess As Long
cntProcess = 0
'List1.Clear
ProcSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
If ProcSnap Then
Process.dwsize = 1060 ' 通常用法
Process32First ProcSnap, Process
Do Until Process32Next(ProcSnap, Process) < 1 ' 遍历所有进程直到返回值为False
List1.AddItem Trim(Process.szExeFile)
cntProcess = cntProcess + 1
Loop
End If
For i = 1 To List1.ListCount
List1.ListIndex = List1.ListIndex + 1
Print #1, List1.Text
Next
Close #1
Unload Me
End Sub

'即可保存当前进程并退出程序。

'当然,如果你用的是XP系统的话,那就更方便啦,直接用系统的工具即可
Private Sub Form_Load()
shell "tasklist >C:\process.txt"
end sub

'这样就保存在C:\process.txt里面了.