簡體   English   中英

如何防止“結束進程樹”終止我已啟動的程序?

[英]How do I prevent “end process tree” from terminating the programs mine has started?

我試圖使用ShellExecute從Delphi XE2中的另一個應用程序'one.exe'執行EXE'two.exe'。

ShellExecute(0, 'open', 'two.exe', nil, nil, SW_NORMAL);

它工作正常,但每當我從任務管理器的進程選項卡終止應用程序'one.exe'(父應用程序)時,使用“結束進程樹”選項,應用程序'two.exe'也會被終止。

如何阻止我的ShellExecuted應用程序像這樣終止?

好的,不是很好的解決方案......但是測試成功; o)

ShellExecute(0, 'open', 'cmd', 
  PChar('/C  start "" "' + Application.ExeName + '"'), nil, SW_HIDE);

在此輸入圖像描述

第一個是手動啟動...他的孩子定期進行shellexecute調用...最后一個,使用shellexecute + cmd技巧...

/ C解釋

我認為你需要創建一個中間進程,然后生成two.exe 然后,您需要中間進程立即終止,此時原始進程與two.exe之間的關系被破壞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM