vc编的小程序,请帮忙查错

来源:百度知道 编辑:UC知道 时间:2024/05/14 07:10:36
#include"windows.h"
#include"winbase.h"
#include"tlhelp32.h"
#include"stdlib.h"
#include"stdio.h"

struct process
{
unsigned int pid;
char pname[MAX_PATH];
struct process *next;
}process;

struct process *Creat()
{
struct process *head,*p,*q;
PROCESSENTRY32 pe32;
int flag,i=0,n=0;
char TEMP[MAX_PATH];
head=NULL;
p=q=(struct process *)malloc(sizeof(struct process));
pe32.dwSize=sizeof(pe32);
HANDLE hprocesssnap =CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
flag=Process32First(hprocesssnap,&pe32);
while(flag)
{
n++;
printf("进程名称:%s\n",pe32.szExeFile);
printf("进程ID:%u\n\n",pe32.th32ProcessID);
while(pe32.szExeFile[i]!='\0')
{
TEMP[i]=pe32.szExeFile[i];
i++;
}
TEMP[i]='\

/*
你的问题出在创建链表上。
我改了下,但你并没有修正你在处理第一个节点时的Bug。
你的代码不能删除第一个节点,且要求创建链表时至少有一个节点。
*/

#include"windows.h"
#include"winbase.h"
#include"tlhelp32.h"
#include"stdlib.h"
#include"stdio.h"

struct process
{
unsigned int pid;
char pname[MAX_PATH];
struct process *next;
}process;

struct process *Creat()
{
struct process *head,*p,*q;
PROCESSENTRY32 pe32;
int flag,i=0,n=0;
char TEMP[MAX_PATH];
head=NULL;
pe32.dwSize=sizeof(pe32);
HANDLE hprocesssnap =CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
flag=Process32First(hprocesssnap,&pe32);
while(flag)
{
n++;
printf("进程名称:%s\n",pe32.szExeFile);
printf("进程ID:%u\n\n",pe32.th32ProcessID);
//注释掉的内容纯粹是多余的
/*while(pe32.szExeFile[i]!='\0')