Javaアプリケーション内で、Windows仮想キーボードがすでに実行されているかどうかを確認したいと思います。
wmic.exe
私はそれを検索し、プロセスの検索に使用できることを発見しました。
これは私がしていることです:
Process proc = Runtime.getRuntime().exec("wmic.exe");
BufferedReader input = new BufferedReader(new InputStreamReader(proc
.getInputStream()));
OutputStreamWriter oStream = new OutputStreamWriter(proc
.getOutputStream());
oStream .write("process where name='osk.exe' get caption");
oStream .flush();
oStream .close();
input.readLine();
while ((in = input.readLine()) != null) {
if (in.contains("osk.exe")) {
input.close();
proc.destroy();
return;
}
}
input.close();
proc.destroy();
これは機能していますが、どういうわけか行を含むwmic
ファイルを作成しています。TempWmicBatchFile.bat
process where name='osk.exe' get caption
どうすればこれを防ぐことができますか?