请帮忙看一段代码?

bqylin 2003-08-10 01:29:42

procedure RefreshList; //刷新进程列表
var
h:THandle;
procEntry32:TProcessEntry32;
isEnd:Bool;
s:ShortString;
begin
list1.clear;
h:=createToolhelp32snapshot(TH32CS_SNAPPROCESS,0);
procEntry32.dwSize:=sizeof(TProcessEntry32);
isEnd:=Process32First(h,procEntry32);
while isEnd do
begin
GetModuleFileName(openProcess(Process_All_Access,
true,procEntry32.th32ProcessID),@s,255);
list1.Items.Add(s);
isEnd:=Process32Next(h,procEntry32);
end;
CloseHandle(h);
end;
//为什么list1中什么也没有(list1是一个listbox)
...全文
20 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bqylin 2003-08-15
  • 打赏
  • 举报
回复
好象不行啊!
yansea 2003-08-11
  • 打赏
  • 举报
回复
function GetModuleFileNameExA(hProcess: HWND; hModule: HINST; lpFilename: PAnsiChar; nSize: DWORD): DWORD; stdcall; external 'PSAPI.DLL';

GetModuleFileNameExA(openProcess(Process_All_Access,true,procEntry32.th32ProcessID),procEntry32.th32ModuleID,@s[1],255);

结贴咯
yansea 2003-08-11
  • 打赏
  • 举报
回复
GetModuleFileNameEx应该最合适,不过delphi中似乎没有声明,你自己声明一下吧。
yansea 2003-08-11
  • 打赏
  • 举报
回复
GetModuleFileName第一个参数是“handle to module to find filename”,不是进程句柄。
你这样写当然取不到了。其实一个参数应该是GetModuleHandle的返回值,不过这个函数的参数又恰是你想得到了。
别用procEntry32.th32ModuleID,它应该一直是0,是该进程自己模块的handle,所以是0。
若你用0取会得到自己程序整个路径。
在9x下procEntry32.szExeFile是完整路径名称,不过2000下只是名称。
我想你可以用Module32First,Module32Next去遍历模块,只取第一个模块的szExePath就可以了。
不知道还有没有其他合适的办法,因为用ModuleXXX还得遍历Process。
bqylin 2003-08-11
  • 打赏
  • 举报
回复
up
bqylin 2003-08-10
  • 打赏
  • 举报
回复
上面的方法都不行啊!我不仅仅想查找进程,主要是在Win2000下要能得到包含完整路径的进程列表。
FrameSniper 2003-08-10
  • 打赏
  • 举报
回复
学习........
cgh93829 2003-08-10
  • 打赏
  • 举报
回复
GetModuleFileName(openProcess(Process_All_Access,
true,procEntry32.th32ProcessID),pchar(s),255);
superyys 2003-08-10
  • 打赏
  • 举报
回复
BCB也带了一个,我以前经常用他杀"美萍"的.很有用的
superyys 2003-08-10
  • 打赏
  • 举报
回复
想查找进程?
Delphi自带了个例程啊.!
zjqyb 2003-08-10
  • 打赏
  • 举报
回复
GetModuleFileName(openProcess(Process_All_Access,
true,procEntry32.th32ProcessID),@s[1],255);

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧