如何在vba中用api函数遍历进程?





用api函数遍历进程的思路是先用api函数CreateToolhelp32Snapshot获取进程的快照(因为进程在不断地变化,只能获取某个时间点的进程快照来遍历),然后用api函数Process32First获取第一个进程的信息,再用api函数Process32Next获取下一个进程的信息,循环到最后一个进程,最后用api函数CloseHandle关闭快照句柄。

根据以上的原理,可以使用如下的代码遍历进程:

其中PROCESSENTRY32结构的设置是关键,它的大小应该按照如何在vba中使用api函数时准确地传递用户自定义类型的变量大小?一文来设置,另外PROCESSENTRY32结构的szExeFile元素需要每次遍历时都清空原来的内容,不然容易产生冗余字符串。

打赏
       

发表评论