我现在需要取得当前系统中正在运行的程序  ,就象windows任务管理器的应用程序块那样,请问该如何做????

解决方案 »

  1.   

    Private Const WM_SYSCOMMAND = &H112
    Private Const SC_MOVE = &HF010&
    Private Const SC_RESTORE = &HF120&
    Private Const SC_SIZE = &HF000&
    Private Declare Function RegCreateKey& Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey&, ByVal lpszSubKey$, lphKey&)
    Private Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
    Const HKEY_LOCAL_MACHINE = &H80000002
    Const REG_SZ = 1Private Sub RefreshProcessList()
    Dim myProcess As PROCESSENTRY32
    Dim mySnapshot As Long
    cboProcess.Clear
    myProcess.dwSize = Len(myProcess)
    mySnapshot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)
    ProcessFirst mySnapshot, myProcess
    cboProcess.AddItem myProcess.szexeFile
    While ProcessNext(mySnapshot, myProcess)
      cboProcess.AddItem myProcess.szexeFile ' set exe name
      PIDs(cboProcess.ListCount - 1) = myProcess.th32ProcessID ' ' store PID
    Wend
    End Sub
     调用  RefreshProcessList
      

  2.   

    请问一下PROCESSENTRY32结构怎么定义
      

  3.   

    还有CreateToolhelpSnapshot方法在那里定义?
      

  4.   

    ProcessNext  ProcessFirst 函数在那里定义??
      

  5.   

    Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
    Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, lProcessID As Long) As Long
    Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
    Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
    Public Const TH32CS_SNAPPROCESS As Long = 2&
    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 * 260
    End Type