获取Explorer进程ID的两种方式
来源:互联网 发布:取餐叫号软件 编辑:程序博客网 时间:2024/05/17 09:26
获取Explorer进程ID的两种方式
由进程ID进而用OpenProcess函数获取句柄
1. 通过桌面类和名称
.data?
szDesktopClass db 'Progman',0 ;桌面的窗口类
szDesktopWindow db 'Program Manager',0 ;桌面的窗口名称
dwProcessID dd ? ;保存进程ID
dwThreadID dd ? ;保存线程ID
.code
invoke FindWindow,addr szDesktopClass,addr szDesktopWindow ;获取桌面窗口句柄
invoke GetWindowThreadProcessId,eax,offset dwProcessID ;获取进程ID
mov dwThreadID,eax ;线程ID
2. 进程快照方式,比较可执行文件名
.data?
szExplorer db 'EXPLORER.EXE',0 ;可执行文件名
dwExplorerID dd ? ;保留Explorer进程ID
.code
_ProcTest proc
local @stProcess:PROCESSENTRY32 ;每一个进程的信息
local @hSnapShot ;快照句柄
pushad
invoke RtlZeroMemory,addr @stProcess,sizeof @stProcess ; 0初始化进程结构
mov @stProcess.dwSize,sizeof @stProcess ;手工填写 结构大小
invoke CreateToolhelp32Snapshot,TH32CS_SNAPPROCESS,0 ;获取进程快照
mov @hSnapShot,eax ;快照句柄
invoke Process32First,@hSnapShot,addr @stProcess ;第一个进程
.while eax
invoke lstrcmp,addr @stProcess.szExeFile,addr szExplorer ;比较文件名
.if eax == 0 ;为0,说明进程名相同
mov eax,@stProcess.th32ProcessID
mov dwExplorerID,eax
.endif
invoke Process32Next,@hSnapShot,addr @stProcess ;下一个进程
.endw
invoke CloseHandle,@hSnapShot ;关闭快照
popad
_ProcTest endp
- 获取Explorer进程ID的两种方式
- 获取进程信息的两种方式
- id的声明两种方式 @id 和@+id
- 使用编程方式获取当前Java进程的进程ID
- 根据进程ID获取进程名的方式
- Android根据图片文件名获取它的资源ID 的两种方式
- Android根据资源文件名获取它的资源ID 的两种方式
- Android根据图片文件名获取它的资源ID 的两种方式
- Android根据图片文件名获取它的资源ID 的两种方式
- SQL语句中插入标识列获取标识ID的两种方式
- Android 资源名获取资源ID的两种实现方式-附带例子说明
- delphi杀进程的两种方式
- android杀死进程的两种方式
- 枚举进程的两种方式
- 创建进程的两种方式
- 创建进程的两种方式
- 进程协调运行的两种方式
- JAVA 创建进程的两种方式
- 关于外部设备存储空间的地址映射--摘自情景分析
- Shrink VMWare Virtual Disks formatted with ext4[转]
- C#创建不规则窗体的几种方式
- 基于内容的自适应变长编码
- 生成完整路径名的两种方法
- 获取Explorer进程ID的两种方式
- selenium 2011 2-19
- WSPRINTF格式化字符串函数
- 获取文件大小、时间
- 从窗口句柄获取进程句柄并终止进程GetWindowThreadProcessID
- 一个简单的内存补丁程序
- 利用进程ID获取主线程ID
- INI文件的操作
- 注册表操作、开机自启动