2012-02-02 96 views
0

背景:我們有一個運行在終端服務上的VB6應用程序[1]。作爲更新腳本的一部分,tskill [2]用於關閉任何正在運行的應用程序,以便可以更新應用程序。有時tskill不能殺死進程,儘管遠程處理和使用任務管理器可以處理它。TSKILL並不總是在終端服務中終止程序

問題:什麼可能導致VB6 mdiform應用程序掛起而不關閉?有什麼我們可以添加到應用程序,使其更優雅地關閉?

備註:
1 - 原本應該被替換,但是SAP替換已經比計劃晚了1年多。
2 - 腳本命令基本上是tskill theApp /server:theServer,因爲它遍歷所有服務器。

回答

1
  1. 應用程序實際上可能有代碼來忽略關機/關閉請求並取消卸載。
  2. 我見過正在打開的消息框會導致應用程序不響應關閉請求。
  3. 可能主表單正在卸載,但還有其他形式駐留在內存中,導致EXE在沒有UI的情況下繼續運行。