プロセスで 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」で実際に認証できるようになる前に終了しており、プログラムはステートメントをデータベースに挿入しています。ユーザーが正常に認証されるまでプロセスを待機させてから、データをデータベースに挿入します。私は成功せずにかなりグーグルで検索しました。画面をロックするには、別のプロセスを使用する必要がありますか?