关于进程的问题 ( 积分: 100 )

  • 主题发起人 主题发起人 潇冉
  • 开始时间 开始时间

潇冉

Unregistered / Unconfirmed
GUEST, unregistred user!
第一个问题:一个很郁闷的事,进程的路径有3个很奇怪。
一个是smss.exe 提取的路径是SystemRoot/System32/smss.exe
一个是winlogon.exe 提取的路径是/??/C:/WINDOWS/SYSTEM32/winlogon.exe
一个是csrss 提取的路径是/??/C:/WINDOWS/SYSTEM32/csrss.exe
有什么办法可以判定一下吗?如果是这样的话,就改为系统目录+文件名

第二个问题就是:关于进程的图标问题,我用了一段代码结合我的进程代码
发现其有段不知道怎么弄 就是ImageList_AddIcon这个编译的时候总是出现
Undeclared identifier:"ImageList_AddIcon" 不知道为什么是缺少什么吗?
下面那段源代码 到底怎么样才可以正常编译呢?
遍历进程,得到每个进程的图标
//源代码
var Snap : THandle;
PPro : PProcessEntry32;
HAppICON : HICON;
I : integer;
begin
ImageList1.Clear;
ListView1.Items.Clear;
I := 1;
Snap := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS,0);
New(PPro);
PPro^.dwSize := SizeOf(TProcessEntry32);
if Process32First(Snap,PPro^) then begin
Repeat
New(aPP);
with ListView1.Items.Add do begin
HAppICON := ExtractIcon(Hinstance,PPro^.szExeFile,0);
if HAppICON = 0 then HAppICON := FICON;
Caption := PPro^.szExeFile;
SubItems.Add(Format('%x',[PPro^.th32ProcessID]));
SubItems.Add(Inttostr(PPro^.cntThreads));
SubItems.Add(Format('%x',[PPro^.th32ParentProcessID]));
SubItems.Add(Format('%x',[PPro^.pcPriClassBase]));
ImageIndex := ImageList_AddIcon(ImageList1.Handle,HAppICON);
Inc(i);
aPP^.ProcessID := PPro^.th32ProcessID;
aPP^.ListID := i;
aPP^.PathName := Caption;
Data := app;
end;
until NOT Process32Next(Snap,PPro^)
end;
Dispose(PPro);
CloseHandle(Snap);
end;
 
好不容易问个问题 居然连回答都没有吗 点拨下也行呀
 
网上有很多类似源码。搜索一下就OK。前一个问题我也有,后一个我没有。
现在两个都没有:)自娱自乐。
 
Undeclared identifier:"ImageList_AddIcon"
弄懂了
可是不知道为什么获取的进程图标都是同一个图标,这是怎么回事呢?
第一个问题有什么好的办法避免吗?
 
第一个问题也弄懂了
就差这个了
不知道为什么获取的进程图标都是同一个图标,这是怎么回事呢?有什么可以解决的吗?
 
Hinstance改为PPro^.th32ProcessID, 此外ExtractIcon中PPro^.szExeFile取到的只是不含完整路径的文件名,应改成全路径文件名.
 
每个进程的图标都可以获取的到,问题是如何指定他们啊
ImageIndex := ImageList_AddIcon(ImageList1.Handle,HAppICON);
是不是出错了啊 感觉好像都是默认的 进程的图标都是获取的第一个似的
 
aPP^.ProcessID := PPro^.th32ProcessID;
aPP^.ListID := i;
aPP^.PathName := Caption;
Data := app;
end;
这段代码没问题么?有需要么,我去掉了。是不是这个问题?
ProcessID : Cardinal;
ListID :integer;
PathName : string;
为什么我定义了也不行呢 怎么定义?
aPP 该如何定义呢?
 
OK谢谢dreamisx了。你是盒子的 iamdream吧
 
后退
顶部