如何在程序或网站处于活动状态时禁用剪贴板和任务切换操作
How can I disable clipboard and task-switching operations while my program or Web site is active?
是否可以为windows机器(桌面)创建一个网站或应用程序,在用户提交或完成给定任务之前,它可以保持专注或精确地保持打开。
例如,我的XXX应用程序/网站已打开。我希望用户填写一些文本。我想要的是,用户不应该能够执行以下
- ctrl+c或ctrl+v所有这些快捷键
- ctrl+alt+del(我想这在网站上是不可能做到的)
- ctrl+shift+Esc
简单地说,我不希望用户从文本文件中复制文本,我不想用户最小化这个XXX应用程序/网站并切换到资源管理器或记事本或其他东西。
我不认为网站能做到这一切,一个windows桌面应用程序能做到吗?
Windows桌面应用程序也不能执行您的要求。从本质上讲,你希望篡夺用户计算机的控制权。。。任何合理的操作系统或网络浏览器都不允许这样做
您永远不能在Windows计算机中禁用Ctrl-Alt-Delete。密钥组合被Windows内核截获,您甚至没有机会在javascript或桌面应用程序中看到它。您可以尝试编写一个驱动程序,在内核获取密钥之前获取密钥,但我也不确定这是否真的可行。无论哪种方式,这都超出了桌面应用程序的范围。
可以捕获您列出的其他快捷方式。
要扩展其他答案/评论:
- 在您自己的应用程序中禁用复制和粘贴相对来说是微不足道的。但是,您无法阻止用户在其他应用程序中进行复制和粘贴。"所有这些快捷方式"的含义尚不清楚,但通常情况下,"Ctrl-Something"快捷方式是由应用程序定义的,因此您可以覆盖它
- 从网站或Windows应用程序禁用Ctrl-Alt-Del是不可能的。这是经过设计的
- Ctrl-Shift-Esc可以被应用程序覆盖,但对WPF应用程序的初步实验表明,这需要在比.NET容易公开的更低的级别上处理
看看DWinLock,我们在一个Delphi应用程序中使用它来完成您的要求,但它是一个DLL和驱动程序,因此应该可以在几乎任何编程语言中使用。
在我们的情况下,它用于在我们的系统运行时禁用所有窗口快捷方式和CTRL-ALT-DELETE,并在正确关闭时恢复这些快捷方式,一旦导入DLL,它就很容易使用。
Procedure DisableKeys;
begin
OutputDebugString(PChar('Disabling Keys - now secure'));
wlDisableKey( 0, 0, MOD_WIN, 1 );
wlDisableKey(0, VK_DELETE, MOD_CONTROL or MOD_ALT, 1);
wlDisableKey( 0, VK_ESCAPE, MOD_CONTROL, 1 );
wlDisableKey( 0, VK_ESCAPE, MOD_CONTROL or MOD_SHIFT, 1 );
wlDisableKey( 0, VK_APPS, MOD_ALL, 1 );
wlDisableKey( 0, VK_F4, MOD_ALT, 1 );
wlDisableKey( 0, VK_F3, MOD_ALL, 1 );
wlDisableKey( 0, ord('N'), MOD_CONTROL, 1 );
wlDisableItem( wlAccessibility, 1 );
wlDisableItem( wlAccHighContrast, 1 );
wlDisableItem( wlAccFilterKeys, 1 );
wlDisableItem( wlAccMouseKey, 1 );
wlDisableItem( wlAccStickyKeys, 1 );
wlDisableItem( wlAccToggleKeys, 1 );
end;
procedure EnableKeys;
begin
OutputDebugString(PChar('EnablingKeys - NOT secure'));
wlRestoreAll;
end;
希望对有所帮助
在web应用程序中,您可以使用相当简单的javascript限制用户输入,但不能限制浏览器。在桌面应用程序中,您可以使用windows挂钩等。唯一的问题是,所有主要的防病毒软件都会认为您的应用程序是一种威胁。并非不可能,如果你非常想要它,你可以从研究简单的marc3键盘记录器开始。祝你好运
- 如何在Firefox中获取剪贴板文本和html当用户按下“;Ctrl+V”;
- 零剪贴板复制文本后切换页面
- 复制到剪贴板在safari-angularjs中不起作用
- 使用javascript代码将HTML元素复制到剪贴板
- “复制到剪贴板”不起作用
- 使用jQuery/Javascript将忽略表头的表的内容复制到剪贴板
- 有没有任何方法可以将javascript对象从源代码传递到系统/浏览器剪贴板
- javascript中的复制到剪贴板功能
- 使用JavaScript访问Chrome扩展的剪贴板
- 将属性模型复制到剪贴板
- 如何使用剪贴板.js
- 零剪贴板在第一次点击时不起作用
- WinJs 复制到 Windows Phone 的剪贴板
- 使用扩展程序访问 Chrome 剪贴板活动
- JavaScript 自动将文本复制到剪贴板
- 如何在程序或网站处于活动状态时禁用剪贴板和任务切换操作
- 如何在chrome中使用jquery操作剪贴板数据,IE 8&9
- 从网站复制部分后的Javascript剪贴板操作
- 通过JavaScript进行剪贴板操作
- 文本选择(准备使用剪贴板操作)