导航
  • 主页
  • 语言基础/算法/系统设计
  • 数据库相关
  • 图形处理/多媒体
  • 网络通信/分布式开发
  • VCL组件开发及应用
  • Windows SDK/API
  • 问答

进程,进程,还是进程问题!

hnxrm 2001-08-31 06:51:54
如何获得一个程序中启动的另外的进程句柄(即除主进程之外的进程)?请各位大侠帮忙。
...全文
90 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hnxrm 2001-09-06
看来是没人回答了,给分吧。
回复
Tense 2001-09-03
up
回复
hnxrm 2001-09-03
to qiandeng
有么?我好象没找到。
TO summernightrain(夏夜雨) 谢谢哦,过几天给你分。
UP
回复
qiandeng 2001-09-02
建议还是去看看msdn,应该有这样的函数
回复
summernightrain 2001-09-01
var
StartupInfo:TStartupInfo;
ProcessInfo:TProcessInformation;
procedure Run(App:String);
var
StartupInfo:TStartupInfo;
ProcessInfo:TProcessInformation;
begin
FillChar(StartupInfo,Sizeof(StartupInfo),#0);
StartupInfo.cb:=Sizeof(StartupInfo);
StartupInfo.dwFlags:=STARTF_USESHOWWINDOW;
if FileExists(GetPath(2)+'\'+App) then
CreateProcess(nil,pchar(GetPath(2)+'\'+App),nil,nil,false,CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,nil,nil,StartupInfo,ProcessInfo);
end;

看上面的例子啦!!如果你是用的这种方法启动其它的进程,那么ProcessInfo中就包含了你要的东西(ProcessID)了,编个程序试试??有什么问题再讨论!!
回复
summernightrain 2001-09-01
那就比较难了,从理论上讲你要看别的进程调用那了那些其它的进程,我想可以用Hook Api来做,具体就是拦截创建进程的那几个函数比如上面的CreateProcess。
回复
hnxrm 2001-09-01
to summernightrain(夏夜雨)
这个程序不是我编的,我要的是别人程序中启动其他进程的HANDLE.
回复
hnxrm 2001-08-31
我的意思不是要枚举系统中所有的进程再进行判断,是要一个程序中启动的其他进程的HNADLE。假设我已经知道这个程序的HANDLE。不过先谢了summernightrain(夏夜雨) :)
回复
summernightrain 2001-08-31
下面是我的一个例子函数。
function TerminateExe(ExePath:String):Boolean; 一个结束例子进程的例子
var
ProListHandle,ProHandle:HWND;
ProStruct:PROCESSENTRY32; //目的就是要得到这结构,关于这结构可以查API帮助。
Found:Boolean;
begin
Result:=False;
ProListHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
ProStruct.dwSize:=Sizeof(ProStruct);
Found:=Process32First(ProListHandle,ProStruct);开始枚举所有进程
While Found do
begin

{ ProStruct 结构中就包含了进程的详细信息,其中的进程ID就是ProStruct.th32ProcessID
这个成员。}
if ProStruct.szExeFile=UpperCase(ExePath) then
begin
ProHandle:=OpenProcess(PROCESS_ALL_ACCESS,True,ProStruct.th32ProcessID);
If TerminateProcess(ProHandle,0) then
Result:=True
else
Result:=False;
end;
Found:=Process32Next(ProListHandle,ProStruct);
end;
end;
回复
发动态
发帖子
Delphi
创建于2007-08-02

4811

社区成员

Delphi 开发及应用
申请成为版主
社区公告
暂无公告