我想在Windows 10的Java Swing Desktop应用程序中禁用PrintScreen。
当我们按下Windows + PrintScreen键时,Win 10将截图保存在Pictures \ Screenshots文件夹中,仅按下PrintScreen会将截图保存在Dropbox文件夹(如果已安装)中,在某些键盘中,功能+ F12键也是如此。当有人按下在Win 7中有效但在Win 10中无效的PrintScreen键时,我能够清除剪贴板。以下是我在Windows 10中尝试过的代码。
private class MyDispatcher implements KeyEventDispatcher
{
boolean status=false;
@Override
public boolean dispatchKeyEvent(KeyEvent e)
{
switch (e.getID())
{
case KeyEvent.KEY_PRESSED:
System.out.println("KEY_Preessed : "+e.getID()+" code="+e.getKeyCode());
if(e.getKeyCode()==KeyEvent.VK_PRINTSCREEN || e.getKeyCode()==18 )
{
status=true;
System.err.println("key VK_PRINTSCREEN pressed="+status);
// System.out.println("2test2 KEY_Preessed"+e.getID()+" code="+e.getKeyCode());
}
break;
case KeyEvent.KEY_RELEASED:
//System.out.println("2test2 KEY_RELEASED");
if(e.getKeyCode()==KeyEvent.VK_PRINTSCREEN)
{
//setFocusable(true);
StringSelection ss = new StringSelection("??????");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);
e.consume();
status=true;
System.err.println("key VK_PRINTSCREEN released="+status);
}
break;
case KeyEvent.KEY_TYPED:
System.out.println("key type");
break;
default:
break;
}
// System.out.println("status= "+status);
return status;
}
}
我想在我的应用程序运行时禁用Winodows 7和10中的Printscreen(或屏幕截图)功能。但是它在Windows 10中不起作用。尝试了各种Web解决方案,但没有成功。