真漂亮!!怎么只有个bas,其它的代码呢?
能不能拿出来学习一下[email protected]

解决方案 »

  1.   

    很好了--已经!我在写一个免费软件,进程管理+系统设置的偷懒型软件,一个部分很难搞,大家侃侃!我已经声明了PROCESS32和module32 的结构但是这个东东不知怎么没反应,也不报错!
    还缺什么东东!!!大家指点一下!!
    Option Explicit
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal blnheritHandle As Long, ByVal dwAppProcessId As Long) As Long
    Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
    Private Declare Function TerminateProcess Lib "kernel32" (ByVal ApphProcess As Long, ByVal uExitCode As Long) As Long
    Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal lFlags As Long, lProcessID As Long) As Long
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long
    Private Declare Function GetWindowThreadProcessId& Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long)
    Private Declare Function Process32First Lib "kernel32" (ByVal hsnapshot As Long, uprocess As PROCESSENTRY32) As Long
    Private Declare Function Process32Next Lib "kernel32" (ByVal hsnapshot As Long, uprocess As PROCESSENTRY32) As Long
    Private Declare Function Module32First Lib "kernel32" (ByVal hsnapshot As Long, lppe As MODULEENTRY32) As Long
    Private Declare Function Module32Next Lib "kernel32" (ByVal hsnapshot As Long, lppe As MODULEENTRY32) As Long
    Private Type MODULEENTRY32
        dwSize As Long
        th32ModuleID As Long
        th32ProcessID As Long
        GlblcntUsage As Long
        ProccntUsage As Long
        modBaseAddr As Byte
        modBaseSize As Long
        hModule As Long
        szModule As String * 256
        szExePath As String * 1024
    End TypePrivate 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
    Private Const TH32CS_SNAPPROCESS As Long = 2&
    Private Const TH32CS_SNAPMODULE = &H8
    Dim procresultPrivate Sub lvw_Click()
    ProcH.StatusBar1.Panels(2).Text = lvw.SelectedItem
    Modulelis
    End Sub
    Sub Modulelis()
        clvw.ListItems.Clear ''''清空列表,初始化
        clvw.ColumnHeaders.Clear ''''清空表头,初始化
        clvw.ColumnHeaders.Add , , "模块名称", 2000 '''添加到表头第一项,有顺序的
        clvw.ColumnHeaders.Add , , "模块路径", 4000
        clvw.ColumnHeaders.Add , , "占用内存", 1000
        clvw.ColumnHeaders.Add , , "引用", 600
        clvw.ColumnHeaders.Add , , "全局引用", 1000
        clvw.ColumnHeaders.Add , , "模块ID", 1000
        clvw.LabelEdit = lvwManual
        clvw.FullRowSelect = True
        clvw.HideSelection = False
        clvw.HideColumnHeaders = False
        clvw.View = lvwReport
      Dim uprocess As PROCESSENTRY32
      Dim l As Long
      Dim mm As MODULEENTRY32
      Dim lm As Long
      Dim modlvw As ListItem
      l = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&)
      If l > 0 Then
        uprocess.dwSize = Len(uprocess)
        If Process32First(l, uprocess) Then
          Do
            '获得进程的标识符
            lm = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, uprocess.th32ProcessID)
            If lm > 0 Then
              mm.dwSize = Len(mm)
              If Module32First(lm, mm) Then
                Do
                 If uprocess.th32ProcessID = mm.th32ProcessID Then
                ' Set modlvw = clvw.ListItems.Add(, , Text:=Str$(mm.szExePath))
                 'modlvw.SubItems(5) = mm.ProccntUsage
                 'modlvw.SubItems(4) = mm.szExePath
                ' modlvw.SubItems(3) = mm.hModule
                ' modlvw.SubItems(2) = mm.modBaseAddr
                ' modlvw.SubItems(1) = mm.modBaseSize
                 End If
                Loop Until (Module32Next(lm, mm) < 1)
              End If
              CloseHandle (lm)
            End If
          Loop Until (Process32Next(l, uprocess) < 1)
        End If
        CloseHandle (l)
      End If
    End Sub
      

  2.   

    在列表双击打开的FLASH的时候的窗口能不能固定啊