天下网吧 >> 网吧天地 >> 网吧技术 >> 网吧网络 >> 正文

Delphi启动和关闭外部应用程序

2009-2-13不详佚名
下面本文将以一个实际的例子详细地介绍一下实现外部应用程序启动和关闭的具体方法和步骤:

  1.创建一个应用程序,在应用程序的窗体上添加两个Tbutton组件和一个TopenDialog组件。设置其中一个Tbutton组件的Caption属性为“启动外部应用程序”、另一个Tbutton组件的Caption属性为“关闭已开启的外部应用程序”。设置TopenDialog组件的Filter属性为“可执行文件(*.exe)|*.exe”。

  2.实现外部应用程序的启动功能

  ⑴要启动外部应用程序,可以通过调用API函数WinExec来实现。该函数用于运行指定的应用程序。下面介绍一下该函数所需的参数和返回值:

  UINTWinExec(

  LPCSTRlpCmdLine,file://命令行指针

  UINTuCmdShowfile://应用程序的窗口风格

  );

  如果成功,返回值大于31。否则可能返回下列结果:

  0系统内存或资源不足

  ERROR_BAD_FORMAT该*.EXE文件无效

  ERROR_FILE_NOT_FOUND没找到指定的文件

  ERROR_PATH_NOT_FOUND没找到指定路径

  ⑵通过编写标题为“启动外部应用程序”组件的OnClick事件,来实现外部应用程序的启动,代码如下:

网吧Cn029.Com



  procedureTForm1.Button1Click(Sender:TObject);

  var

  str:string;file://存储指定的应用程序文件名

  begin

  ifopendialog1.Executethenfile://选择要调用的外部可执行程序

  begin

  str:=opendialog1.FileName;file://获取可执行文件名

  winexec(PChar(str),SW_SHOWNORMAL);file://启动指定的可执行程序

  end;

  end;

  3.关闭已开启的外部应用程序

  ⑴通过调用两个API函数,可以实现该功能。这两个函数分别为:

  ①FindWindow函数该函数用于查找与指定的类名和窗口名相匹配的高层窗口,如果查找成功,返回非0值,否则返回0。

  ②SendMessage函数此函数向一个或多个窗口发送指定的消息。在此通过发送WM_CLOSE消息来关闭指定的外部应用程序。

  ⑵通过编写标题为“关闭已开启的外部应用程序”组件的OnClick事件,来关闭已开启的外部应用程序。代码如下:

  procedureTForm1.Button2Click(Sender:TObject);

  var

  hWndClose:HWnd;file://存储指定的外部应用程序窗口句柄 文章来源:西安网吧在线 Cn029.Com

  str:String;file://存储指定的外部应用程序的窗口名

  begin

  str:=InputBox(\'提示\',\'请输入应用程序名:\',\'\');file://获取要关闭的应用程序窗口名

  ifstr\'\'thenbegin

  file://根据窗口名查找要关闭的窗口句柄

  hWndClose:=FindWindow(nil,PChar(str));

  ifhWndClose0thenfile://如果查找成功,则发送消息,关闭指定的窗口

  SendMessage(hWndClose,WM_CLOSE,0,0);

  elsefile://否则,给出提示信息

  ShowMessage(\'没找到指定的应用程序,所以无法关闭!\');

  end;

  end;

本文来源:不详 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。文章是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。 Email:support@txwb.com,系统开号,技术支持,服务联系微信:_WX_1_本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行