我有一個Delphi應用程序插件,它顯示了一個模態窗體。在單獨的窗體代碼中,它調用另一個exe文件來處理一些文件,然後關閉。插件的第二部分操作從exe創建的文件。等到文件存在再繼續執行程序
我的問題是,程序在外部文件實際創建之前還在繼續。有沒有辦法暫停我的Delphi插件和循環,或者等到FileExists返回true再繼續?
僞代碼:
Launch form (ShowModal)
Form runs exe, manipulates external files
Close Form
Form released
if ExternalFiles exist, do stuff.
因爲外部文件被我的插件以外的操作,我不能告訴,當他們完成,已創建。
非常好,避免輪詢和睡眠的解決方案! –
@ikathegreat - 你如何啓動可執行文件? ShellExecute的? CreateProcess的? – Vector
如果使用'ShellExecuteEx()',確保指定了'SEE_MASK_NOCLOSEPROCESS'標誌,這樣你就可以返回一個進程'HANDLE'來等待。 'CreateProcess()'總是返回這樣的'HANDLE'。 –