获取系统进程

 获取系统进程到列表框

exe内包括 一个list1 一个command 一个label1
请复制如下代码到代码窗口中....

 

  ' CreateToolhelpSnapshot获取进程快照的API 声明 
   Private  Declare  Function  CreateToolhelpSnapshot Lib  " kernel32 "  Alias  " CreateToolhelp32Snapshot "  (ByVal lFlags  As   Long , ByVal lProcessID  As   Long As   Long  
 
' ProcessFirst用于获取第一个进程的PROCESSENTRY32结构信息数据 
   Private  Declare  Function  ProcessFirst Lib  " kernel32 "  Alias  " Process32First "  (ByVal hSnapShot  As   Long , uProcess  As  PROCESSENTRY32)  As   Long  
  
' ProcessNext用于获取下一个进程的PROCESSENTRY32结构信息数据 
   Private  Declare  Function  ProcessNext Lib  " kernel32 "  Alias  " Process32Next "  (ByVal hSnapShot  As   Long , uProcess  As  PROCESSENTRY32)  As   Long  
  
' TerminateProcess用于关闭进程句柄 
   Private  Declare  Function  TerminateProcess Lib  " kernel32 "  (ByVal hProcess  As   Long , ByVal uExitCode  As   Long As   Long  
  
' OpenProcess 用于打开进程句柄 
   Private  Declare  Function  OpenProcess Lib  " kernel32 "  (ByVal dwDesiredAccess  As   Long , ByVal bInheritHandle  As   Long , ByVal dwProcessId  As   Long As   Long  
Const  MAX_PATH      As   Integer   =   260  
   
  
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   *  MAX_PATH 
  
End  Type 
  
Const  TH32CS_SNAPheaplist  =   & H1 
  
Const  TH32CS_SNAPPROCESS  =   & H2 
  
Const  TH32CS_SNAPthread  =   & H4 
  
Const  TH32CS_SNAPmodule  =   & H8 
  
Const  TH32CS_SNAPall  =  TH32CS_SNAPPROCESS  +  TH32CS_SNAPheaplist  +  TH32CS_SNAPthread  +  TH32CS_SNAPmodule 

  
Private   Sub  Command1_Click() 
Call  getexename 
End Sub  


Private   Sub  Form_Load() 
Call  getexename 
Command1.Caption 
=   " 刷新 "  
End Sub  

Private   Sub  getexename() 
List1.Clear 
' 清空LIST1 
Dim  i   As   Long , lPid  As   Long  
Dim  Proc  As  PROCESSENTRY32 
Dim  hSnapShot  As   Long  
hSnapShot 
=  CreateToolhelpSnapshot(TH32CS_SNAPall,  0 )          ' 获得进程“快照”的句柄 
Proc.dwSize  =   Len (Proc) 
lPid 
=  ProcessFirst(hSnapShot, Proc)          ' 获取第一个进程的PROCESSENTRY32结构信息数据 
=   0  
Do   While  lPid  <>   0             ' 当返回值非零时继续获取下一个进程 
    List1.AddItem Proc.szExeFile  '  把所有进程载入LIST框 
    i  =  i  +   1  
     lPid 
=  ProcessNext(hSnapShot, Proc)          ' 循环获取下一个进程的PROCESSENTRY32结构信息数据 
Loop  

          Label1.Caption 
=   " 进程数:  "   &  List1.ListCount  -   1  
         
End Sub  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值