2015-05-29 49 views
1

每次我不小心拔掉Logitech鍵盤時,「LCore.exe」進程都不響應。我必須手動結束進程並重新啓動它。
我想創建一個.bat文件來爲我做這件事,但我不知道如何。如何使用.bat文件重新啓動進程

我試過用這個,但它似乎沒有工作。

taskkill /im LCore.exe 
start "C:\Program Files\Logitech Gaming Software\LCore.exe" 
+0

什麼不行?關閉還是重新啓動? – Marged

+0

兩者。我已經通過添加「/ f」來嘗試你的建議,它的工作。 但是,啓動該過程似乎不起作用。命令提示符以「C:\ Program Files \ Logitech Gaming Software \ LCore.exe」作爲標題。 – HyphenSam

回答

1

嘗試將/ f添加到taskkill,這將強制終止進程。

一個黑客來解決另一個問題:

start "" "C:\Program Files\Logitech Gaming Software\LCore.exe" 
+0

工作。謝謝 – HyphenSam

2

你的第一個命令,要求關閉該程序。如果它掛了,它就無法反應。

請參閱taskkill /?並參見/f瞭解力參數。

對於非控制檯程序,WM_Close消息發佈到主窗口(即,如果您單擊了標題欄上的紅色X按鈕)。使用/f時,使用TerminateProcess(作爲在任務管理器的進程選項卡上停止進程)。

從幫助

一個應用程序可提示用戶進行確認,之前銷燬一個窗口,通過處理WM_CLOSE消息並調用僅當用戶確認選擇的的DestroyWindow功能。

默認情況下,DefWindowProc函數調用DestroyWindow函數銷燬該窗口。

備註

的TerminateProcess函數用於無條件地導致進程退出。如果使用TerminateProcess而不是ExitProcess,動態鏈接庫(DLL)維護的全局數據狀態可能會受到影響。

TerminateProcess啓動終止並立即返回。這會停止執行進程內的所有線程,並請求取消所有待處理的I/O。在所有待處理的I/O完成或取消之前,已終止的進程無法退出。

進程無法阻止自己被終止。