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

还是ShellExecute,12:00前揭帖.

楼主wolfAone(30,奋斗成男人)2002-03-29 11:01:54 在 Delphi / VCL组件开发及应用 提问

1.关闭由ShellExecute调用的程序的实例,不关闭手工打开的实例.  
  2.ShellExecute返回的是什么东西,好像不是Handle. 问题点数:20、回复次数:10Top

1 楼redlegend_126_com(redlegend)回复于 2002-03-29 11:05:26 得分 3

关注!!!!!!!  
  Top

2 楼wolfAone(30,奋斗成男人)回复于 2002-03-29 11:05:39 得分 0

FindWindows查找的机制是什么,譬如现在有两个叫"Project"程序的实例,Handle为1001,1002,它根据什么来查找?第一个?排需?Top

3 楼wolfAone(30,奋斗成男人)回复于 2002-03-29 11:14:00 得分 0

啊,都没人知道丫?Top

4 楼quark(夸克)回复于 2002-03-29 11:20:42 得分 5

//==============================================================================  
  //强制终止某应用程序运行********************************************************  
  //==============================================================================  
  procedure   AppForceExit(const   AppName:   string);  
  var   lppe:   TProcessEntry32;  
          ssHandle:   THandle;  
          Wnd:   HWND;  
          AppFound:   Boolean;  
  begin  
      ssHandle   :=   CreateToolHelp32SnapShot(TH32CS_SNAPALL,   0);  
      AppFound   :=   Process32First(sshandle,   lppe);  
      while   AppFound   do  
      begin  
          //其中lppe.szExefile就是程序名**********************************************  
          if   UpperCase(ExtractFileName(lppe.szExeFile))=UpperCase(AppName)   then  
          begin  
              Wnd   :=   OpenProcess(PROCESS_ALL_ACCESS,   true,   lppe.th32ProcessID);  
              TerminateProcess(Wnd,   0);  
          end;  
          AppFound   :=   Process32Next(ssHandle,   lppe);  
      end;  
  end;  
   
  //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  ~~~~~~~~~~~~  
  EXAM:  
  //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  procedure   TForm_Main.Button18Click(Sender:   TObject);  
  begin  
      case   (Sender   as   TButton).Tag   of  
          0:   ShellExecute(Handle,   'Open',   PChar('ping.exe'),   PChar('192.168.1.11   -t'),   nil,   SW_SHOWNORMAL);  
          1:   AppForceExit('ping.exe');  
      end;  
      (Sender   as   TButton).Tag   :=   (Sender   as   TButton).Tag   xor   1;  
  end;  
   
  Top

5 楼wolfAone(30,奋斗成男人)回复于 2002-03-29 11:25:20 得分 0

quark(夸克)   :你这样把手工开的Ping窗口都关闭了.Top

6 楼shangshang(大雪有痕)回复于 2002-03-29 11:33:12 得分 3

shellexecute的确不是句柄。  
   
  你用Creatprocess多好。功能足够强大了。  
   
  findwindow的机制,他的参数就是窗口类名和窗口标题啊。  
  如果都一摸一样的话,他只返回一个窗口的句柄,我忘了是第一个  
  还是最后一个了。你查查msdn吧。Top

7 楼horlen(少爷的破拐杖)回复于 2002-03-29 11:37:11 得分 3

用FindWindows这个函数就是有一个缺点,他一定要先释放掉你要查找的窗体。  
  现在吃饭,我以前有这个函数的解释,现在找不到了。Top

8 楼liulin(liulin)回复于 2002-03-29 11:39:50 得分 3

用winexec啊。delphi下这个函数好点Top

9 楼milpas(我带着我的影子去流浪)回复于 2002-03-29 11:40:29 得分 3

用CteateProcess才能解决这个问题吧Top

10 楼wolfAone(30,奋斗成男人)回复于 2002-03-29 11:45:02 得分 0

破少爷的破拐杖:  
  用FindWindows这个函数就是有一个缺点,他一定要先释放掉你要查找的窗体。  
  这个不能理解.Top

相关问题

  • 一套题,帮忙给做一下,今天6点前揭帖!
  • 各位帮忙做几个题?(今晚12点前揭帖)
  • 请求辞去非技术区版主职务(春节前争取揭帖)
  • ★★★空心菜散分贴4。给周末晚上还在bCB的!今天睡觉前就揭帖!
  • 如何快速切换两套固定的IP设置?谢谢!下班前揭帖。
  • 解决就马上揭帖!
  • 小问题,很快揭帖
  • 求助(解决即揭帖)
  • 再开一贴,还是关于智能感知的,有结果了就加分揭帖!各位高手帮忙了!
  • CreateProcess()还是ShellExecute()

关键词

  • 函数
  • lppe
  • appfound
  • shellexecute
  • sshandle
  • 查找
  • findwindows
  • 实例
  • wnd
  • 程序

得分解答快速导航

  • 帖主:wolfAone
  • redlegend_126_com
  • quark
  • shangshang
  • horlen
  • liulin
  • milpas

相关链接

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

广告也精彩

反馈

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