首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

退出应用程序时怎么结束它的所有进程

2013-12-21 
退出应用程序时如何结束它的所有进程?怎样编程,才能保证此应用程序退出时它的所有进程也结束?[解决办法]你

退出应用程序时如何结束它的所有进程?
怎样编程,才能保证此应用程序退出时它的所有进程也结束?
[解决办法]
你说的是子进程么?和子进程约定的通讯方式是什么?
[解决办法]
那也得看你的abc运行后都干了什么,和它退出时是否少干了什么
[解决办法]
让子进程退出时给父进程发消息
[解决办法]

引用:
我在调试一个程序时经常碰到一个问题,就是出现类似于
Fatal Error: Could not create output file 'C:\Program Files\Borland\Delphi7\Projects\abc.exe’
的错误,后来用ctrl+alt+delete检查进程,发现有abc.exe还在运行,而程序abc.exe已结束。

因经常如此,所以问问什么原因。

调试程序时,还是不要用主动防御软件为好,尤其是360这样的
[解决办法]
Application.Terminate; 
或者用 Halt(0);
不过,从你描述的来看,应该是你的窗体已经被Free了,但是进程没有结束。一般象这样的情况,是关闭的窗体,不是程序的主窗体。用ShowMessage(Application.MainForm.ClassName) ,查看下主窗体是哪个类就知道了。此代码勿放在FormCreate过程中。
[解决办法]
你可以按如下流程去创建 程序启动的Splash。


//主菜单 Project>>View Source
//TAboutBox 中 需要包含一个可以自动关闭的窗体的操作。如计时器,循环满足一定条件后关闭等等

program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  ABOUT in 'ABOUT.pas' {AboutBox};

{$R *.res}

begin
  ReportMemoryLeaksOnShutdown := DebugHook <> 0;  //内存泄露侦测
  Application.Initialize;
  Application.MainFormOnTaskbar := True;

  //创建Splash
  Application.CreateForm(TAboutBox, AboutBox);
  AboutBox.ShowModal;
  AboutBox.Free;

  //创建主窗体
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

[解决办法]
用TerminateProcess函数强行结束
[解决办法]
编写个过程, 结束进程 即可

热点排行