由于不知道你要取重复进程里的啥,比如说PID?内存?线程数?
以下我给你简单写了个例子,是取重复进程的PID的
.数据类型 LPPROCESSENTRY32
.成员 dwSize, 整数型
.成员 cntUsage, 整数型
.成员 Id, 整数型
.成员 th32DefaultHeapID, 整数型
.成员 th32ModuleID, 整数型
.成员 cntThreads, 整数型
.成员 th32ParentProcessID, 整数型
.成员 pcPriClassBase, 整数型
.成员 dwFlags, 整数型
.成员 Name, 字节型, , "256"
.DLL命令 API_CreateToolhelp32Snapshot, 整数型, "KERNEL32.DLL", "CreateToolhelp32Snapshot"
.参数 dwFlags, 整数型
.参数 th32ProcessID, 整数型
.DLL命令 API_Process32First, 整数型, "KERNEL32.DLL", "Process32First"
.参数 hSnapshot, 整数型
.参数 lppe, LPPROCESSENTRY32
.DLL命令 API_Process32Next, 整数型, "KERNEL32.DLL", "Process32Next"
.参数 hSnapshot, 整数型
.参数 lppe, LPPROCESSENTRY32
.DLL命令 API_CloseHandle, 整数型, "kernel32", "CloseHandle"
.参数 hObject, 整数型
.子程序 _按钮1_被单击
.局部变量 Name, 文本型
.局部变量 Data, 文本型, , "0"
.局部变量 LPPROCESSENTRY32, LPPROCESSENTRY32
.局部变量 Snapshot, 整数型
.局部变量 bMore, 整数型
.局部变量 text, 文本型
Name = “notepad.exe”
Snapshot = API_CreateToolhelp32Snapshot (15, 0)
.如果真 (Snapshot ≠ 0)
LPPROCESSENTRY32.dwSize = 1024
bMore = API_Process32First (Snapshot, LPPROCESSENTRY32)
.判断循环首 (bMore ≠ 0)
.如果真 (到小写 (到文本 (LPPROCESSENTRY32.Name)) = 到小写 (Name))
重定义数组 (Data, 真, 取数组下标 (Data, 1) + 1, 2)
text = text + 到文本 (LPPROCESSENTRY32.Id) + #换行符
Data [取数组下标 (Data, )] [1] = Name
Data [取数组下标 (Data, 1)] [2] = 到文本 (LPPROCESSENTRY32.Id)
.如果真结束
bMore = API_Process32Next (Snapshot, LPPROCESSENTRY32)
.判断循环尾 ()
API_CloseHandle (Snapshot)
.如果真结束
调试输出 (Data, text)
![](http://imgsrc.baidu.com/forum/w%3D580/sign=fa6057e56181800a6ee58906813433d6/a82d309b033b5bb5e2d28e943bd3d539b600bc68.jpg)
希望能够帮到你。
![](http://tb2.bdstatic.com/tb/editor/images/face/i_f03.png?t=20140803)