我在進程上使用waitFor命令時遇到了問題。我的代碼是這樣的waitFor命令不等待
//preconditions
try{
// lock the work station
Process p= Runtime.getRuntime().exec("C:\\Windows\\System32\\rundll32.exe user32.dll,LockWorkStation");
int exitval=p.waitFor();
// If the authentication is successful
if(exitval==0)
{
//statements to insert into database
}
}
catch(IOException e)
{
e.printStackTrace();
}
catch (InterruptedException e) {
e.printStackTrace();
}
過程被鎖定畫面精細,但它在退出之前,用戶實際上是能夠與「0」的退出值驗證和程序插入語句到我的數據庫。我希望進程等待用戶成功通過身份驗證,然後將我的數據插入數據庫。我已經搜索了很多,但沒有取得任何成功。我應該使用不同的過程來鎖定屏幕嗎?
您是否嘗試在命令行中添加'/ wait'參數? – Maroun
如果只檢查一次! –
@PhilippSander這有什麼問題? 'waitFor()'應該等待進程完成。 – Maroun