J'utilise la classe de robots pour simuler la touche Appuyez sur Java. Mais je suis incapable d'appuyer sur la touche de fenêtre + L, mais je suis capable de les appuyer individuellement. Voici mon code:
private void pressKey() { Robot r=new Robot(); robot.keyPress(KeyEvent.VK_WINDOWS); robot.keyPress(KeyEvent.VK_L); robot.keyRelease(KeyEvent.VK_WINDOWS); robot.keyRelease(KeyEvent.VK_L); }
3 Réponses :
Essayez:
private void pressKey(){ Robot r=new Robot(); robot.keyPress(KeyEvent.VK_WINDOWS); robot.keyPress(KeyEvent.VK_L); robot.keyRelease(KeyEvent.VK_L); robot.keyRelease(KeyEvent.VK_WINDOWS); }
Quelle version Windows utilisez-vous?
Essayez cela à la place:
Runtime.getRuntime().exec("rundll32 user32.dll,LockWorkStation");
Impressionnant. Merci beaucoup. Fonctionne bien, sert mon objectif.
Comment cette ligne corrige le problème réel? Pouvez-vous s'il vous plaît décrire cette ligne?
@Anilreddyyarragonda Il indique à Windows d'invoquer la fonction API Lockworkstation code>
, au lieu d'essayer de le simuler avec des touches.
Oui. Correct. Avoir un sens. Merci.
Essayez ceci:
robot.keyPress(KeyEvent.VK_WINDOWS); robot.delay(100); robot.keyPress(KeyEvent.VK_L); robot.delay(200); robot.keyRelease(KeyEvent.VK_L); robot.delay(100); robot.keyRelease(KeyEvent.VK_WINDOWS);
@ CHAITANYA10 Les méthodes sont la standard
Java. awt.robot code>
méthodes.@Baz ohh .. je ne sais pas AWT: p .. merci quand même :)
ouais ils sont spécifiés dans la classe elle-même
Cela fonctionne pour moi sur XP en ce sens qu'il saute à l'écran de verrouillage, mais il est étrange après, comme si les deux touches sont toujours bloquées. Donc, en tapitant mon mot de passe pour le déverrouiller, je ne fonctionne pas et appuyez sur Upen Upen the Utility Manager (Win + U). Appuyez à nouveau en appuyant sur la touche Windows, mais peut-être que vous essayez de faire une si bonne méthode.
Que dois-je faire pour appuyer là-dessus alors?
@Boann, c'est que Windows se déconnecte dès que les deux boutons sont enfoncés. Par conséquent, ils sont toujours pressés lorsque vous êtes sur votre écran de connexion.