我只是试图撤销Windows XP中的一些旧代码,它生成所有正在运行的进程的列表,但它在Windows 7上失败.在继续之前,这是代码:
#include <windows.h>
#include <tlhelp32.h>
int main()
{
HANDLE hSnap, hTemp;
PROCESSENTRY32 pe;
hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(Process32First(hSnap, &pe)) {
do {
...
}
} while(Process32Next(hSnap, &pe));
}
...
}
Run Code Online (Sandbox Code Playgroud)
我检查了哪个功能失败,结果发现它是Process32First.GetLastError()返回24:"ERROR_BAD_LENGTH"我无法弄清楚问题是什么.有什么建议?
来自MSDN:http://msdn.microsoft.com/en-us/library/ms684834(VS.85).aspx
调用应用程序必须将PROCESSENTRY32的dwSize成员设置为结构的大小(以字节为单位).
要检索有关同一快照中记录的其他进程的信息,请使用Process32Next函数.
编辑:您可能想要做这样的事情:
PROCESSENTRY32 pe = {0};
pe.dwSize = sizeof(PROCESSENTRY32);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3329 次 |
| 最近记录: |