→ EdisonX:大概辦不到吧,123.bat 在工作管理員裡,實際上是由 cmd.exe 05/31 06:25
→ EdisonX:執行該敘述,所以只會查到cmd.exe,查不到 123.bat 05/31 06:25
→ stupid0319:.bat不是執行檔啊............... 05/31 08:43
→ james732:在bat檔開始執行的時候建一個暫時檔,執行結束就刪除 05/31 08:52
→ james732:執行這個bat前就檢查這個檔案存不存在 05/31 08:53
→ james732:這算是個簡單但可能會有問題的解決方式XD 05/31 08:53
→ EdisonX:我的方法與james大差不多,在batch一開始就用 05/31 09:23
→ EdisonX:「title xxxx」,然後 FindWindow(NULL,"xxxx").. 05/31 09:24
→ linotwo:system("start c:\\123.bat"); 不保證會立即跳出視窗 05/31 10:21
→ linotwo:如果在跳出視窗之前或視窗關閉之後 FindWindow 會找不到 05/31 10:22
→ EdisonX:都忘了 linotwo 說的情況.. 05/31 10:29
→ linotwo:用 ShellExecuteEx 執行 cmd 來跑批次檔 05/31 11:44
→ linotwo:再用 WaitForSingleObject 判斷 cmd 的執行狀況 05/31 11:44
→ stupid0319:問題是,原PO程式執行前的BAT沒關掉怎麼辦11 05/31 12:03
→ linotwo:可以設定 timeout 時間或在執行期間容許使用者強制中斷 05/31 12:22
推 EdisonX:都忘了有 ShellExecutEx.. 推一個. 05/31 12:49
→ linotwo:加上每 100ms 檢查使用者是否中斷,3000ms time out 05/31 13:45