CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

如何通过可执行文件名获取进程句柄???????

楼主goldenhua(Stay foolish. Stay hungry.)2002-03-12 16:23:54 在 Delphi / VCL组件开发及应用 提问

请问在Delphi中有没有简单的办法通过可执行文件名获取正在运行的该可执行文件的进程的句柄(如果程序没有运行则返回null)? 问题点数:20、回复次数:4Top

1 楼jiaorg(jiaorg)回复于 2002-03-12 16:28:28 得分 15

这个你也许用得上  
  Q:     How   to   execute   a   program   and   wait   till   it   finishes   (WIN   32).  
   
  A:     function   ProcessFG(const   Filename,   Arguments:   String;  
              const   WindowState:   Word):   Boolean;  
   
          var  
              StartUpInformation   :   TStartupInfo;    
              ProcessInformation   :   TProcessInformation;  
              CommandLine                 :   String;  
   
          begin  
   
              //   build   command   line  
              //  
              CommandLine   :=   Filename   +   '   '   +   Arguments;  
   
              //   initialize   start   up   information  
              //  
              FillChar(StartUpInformation,   SizeOf(TStartUpInfo),   Chr(0));  
              StartUpInformation.cb                     :=   SizeOf(TStartUpInfo);  
              StartUpInformation.dwFlags           :=   STARTF_USESHOWWINDOW;  
              StartUpInformation.wShowWindow   :=   WindowState;  
   
              //   spawn   process  
              //  
              Result   :=   CreateProcess(nil,   PChar(CommandLine),  
                  nil,   nil,   FALSE,    
                  CREATE_NEW_CONSOLE   or   NORMAL_PRIORITY_CLASS,   nil,    
                  PChar(ExtractFilePath(Filename)),   StartUpInformation,  
                  ProcessInformation);  
   
              //   wait   for   process   to   finish   if   created  
              //  
              if   Result   then   WaitForSingleObject(ProcessInformation.hProcess,   INFINITE);  
          end;Top

2 楼xivan(人和妖都是妈生的)回复于 2002-03-12 16:31:22 得分 5

getmodulehandle(win32API函数)Top

3 楼goldenhua(Stay foolish. Stay hungry.)回复于 2002-03-12 16:48:47 得分 0

getmodulehandle   是没用的,我希望在另外一个程序中强制性的kill掉一个指定的程序(只知道可执行文件名)。Top

4 楼Kingron(单身走我路……)回复于 2002-03-12 16:56:19 得分 0

>>我希望在另外一个程序中强制性的kill掉一个指定的程序(只知道可执行文件名)  
   
  这个问题已经回答过了啊,搜索吧。Top

相关问题

  • 求由窗口句柄获取可执行文件名的完整原代码。。。
  • 根据进程HANDLE获取进程对应的文件名?
  • 获取文件名?
  • 获取文件名
  • 有没有获取当前进程可执行文件名的API函数?
  • 如何获取文件名?
  • 获取文件名称
  • 如何获取文件名
  • 如何获取文件名?
  • 在线急等:知道了程序的可执行文件名?如何获得这个程序的进程句柄?

关键词

  • 文件名
  • 执行
  • startupinformation
  • tstartupinfo
  • commandline
  • nil
  • 可执行文件名
  • 程序
  • filename

得分解答快速导航

  • 帖主:goldenhua
  • jiaorg
  • xivan

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo