| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 494 人关注过本帖
标题:进程与模块查看
只看楼主 加入收藏
Liaof
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-3-18
收藏
 问题点数:0 回复次数:1 
进程与模块查看
进程与模块查看进程与模块查看
搜索更多相关主题的帖子: 模块 进程 
2007-05-20 11:18
心中有剑
Rank: 2
等 级:新手上路
威 望:5
帖 子:611
专家分:0
注 册:2007-5-18
收藏
得分:0 

'======================================
' 获取运行进程ID 声明
'======================================
Public Declare Function GetDesktopWindow Lib "user32" () As Long
Public Declare Function GetWindow Lib "user32" ( _
ByVal hwnd As Long, _
ByVal wCmd As Long) As Long
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" ( _
ByVal hwnd As Long, _
ByVal lpString As String, _
ByVal cch As Long) _
As Long

'================================
' 获取运行进程名称
'================================

Public Function GetOpenWindowNames() As Long

Dim lngDeskTopHandle As Long
Dim lngHand As Long
Dim strName As String * 255
Dim lngWindowCount As Long

lngDeskTopHandle = GetDesktopWindow() '获得代表整个屏幕的一个窗口(桌面窗口)句柄
lngHand = GetWindow(lngDeskTopHandle, GW_CHILD) '寻找源窗口(此处为整个屏幕)的第一个子窗口
lngWindowCount = 1
Do While lngHand <> 0 '对获取整个屏幕子窗口的ID是否为0判断
GetWindowText lngHand, strName, Len(strName) '取得一个窗体的标题(caption)文字,或者一个控件的内容(在vb里使用:使用vb窗体或控件的caption或text属性)
lngHand = GetWindow(lngHand, GW_HWNDNEXT)


If Left$(strName, 1) <> vbNullChar Then
frmMain.lstOpenWindows.AddItem Left$(strName, InStr(1, strName, vbNullChar)) 'List内显示运行程序ID
lngWindowCount = lngWindowCount + 1 '运行程序数累加
End If
Loop

GetOpenWindowNames = lngWindowCount

End Function

'===========================
' 显示进程信息
'==========================
Private Sub lstOpenWindows_Click()
txtTitle.Text = lstOpenWindows.Text
Call getClassInfo '调用 获取进程信息 函数
End Sub


'==========================
' 获取进程信息
'==========================
Private Sub getClassInfo()

Dim lngHand As Long
Dim strName As String * 255
Dim wndClass As wndClass
Dim lngProcID As Long
Dim rctTemp As RECT

lngHand = FindWindow(vbNullString, txtTitle.Text)
GetClassName lngHand, strName, Len(strName)

If Left$(strName, 1) = vbNullChar Then
lblClassName.Caption = "Window Not Found!!!"
Else
lblClassName.Caption = "类名: " & strName
GetWindowThreadProcessId lngHand, lngProcID
GetWindowRect lngHand, rctTemp
End If

lblProcsId = "进程ID: " & lngProcID
End Sub


2007-05-20 16:57
快速回复:进程与模块查看
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024660 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved