关於关闭进程问题 |
尚未結案
|
mchakuna
一般會員 發表:41 回覆:45 積分:17 註冊:2004-01-07 發送簡訊給我 |
|
seaturn99
版主 發表:69 回覆:427 積分:214 註冊:2003-08-25 發送簡訊給我 |
引言: 我用了createprocess来启动一个外部的程序, 关闭时用TerminateProcess来关闭程序。但这样会带来一个问题。这种方式是强制进程关闭,而不是通知程序去结束自身及进行一些善后工作。因此,往往外部程序在结束时会掉失数据。有没有方法解决? 注:在我的程序中,有一个外部文件选择器让用户选择被执行的外部程序路径。"溫和" 一點.. 如果是 Window (費點功夫,找到 hWND)... 利用 SendMessage => 送出 WM_CLOSE 或是 WM_DESTORY .. 如果不是,就利用 AddExitProc 試看看,能不能做離開前的補救.. 可以參考看看下面連結的文章.. http://delphi.ktop.com.tw/topic.php?TOPIC_ID=43237 ---- 我只會兩件事,這也不會,那也不會 眼見不一定為真 ---- |
mchakuna
一般會員 發表:41 回覆:45 積分:17 註冊:2004-01-07 發送簡訊給我 |
该问题本来已经解决。但最近我重新考虑来制作一个用来关系进程的程序。该程序将从系统当前运行的所有进程中找出来我需要的进程,并获得相应窗口的handle。这样我就可以在我的程序中关闭这些进程了。我是通过向这些进程对应的窗体发送WM_CLOSE这个信息来实现的。但很奇怪,有些程序就是无法关闭。 例如,IE。用SendMessage发送WM_CLOSE似乎不起任何作用。但我在本forum上找到一个post,有人说用PostMessage可以解决问题。但仍不行。 第二种情况是如果一个程序被缩小到tray上,则也不响应这个WM_CLOSE消息。 请教大家怎样解决?谢谢。
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |