Javascript 当程序或网站处于活动状态时,如何禁用剪贴板和任务切换操作?

Javascript 当程序或网站处于活动状态时,如何禁用剪贴板和任务切换操作?,javascript,c++,windows,visual-studio-2010,html,Javascript,C++,Windows,Visual Studio 2010,Html,是否可以为windows计算机(桌面)创建一个网站或应用程序,在用户提交或完成给定任务之前,该网站或应用程序可以保持专注或准确地保持打开状态 比如说,, 我的XXX应用程序/网站已打开。我希望用户填写一些文本。我希望的是, 用户应该不能执行以下操作 ctrl+c或ctrl+v所有这些快捷键 ctrl+alt+del(我想这在网站上是不可能做到的) ctrl+shift+Esc 简单地说,我不希望用户从文本文件复制文本,我不希望用户最小化这个XXX应用程序/网站并切换到浏览器、记事本或其他东西 我

是否可以为windows计算机(桌面)创建一个网站或应用程序,在用户提交或完成给定任务之前,该网站或应用程序可以保持专注或准确地保持打开状态

比如说,, 我的XXX应用程序/网站已打开。我希望用户填写一些文本。我希望的是, 用户应该不能执行以下操作

  • ctrl+c或ctrl+v所有这些快捷键
  • ctrl+alt+del(我想这在网站上是不可能做到的)
  • ctrl+shift+Esc
  • 简单地说,我不希望用户从文本文件复制文本,我不希望用户最小化这个XXX应用程序/网站并切换到浏览器、记事本或其他东西


    我不认为网站可以做到这一切。windows桌面应用程序可以做到这一点吗?

    windows桌面应用程序也不能做您要求的事情。实际上,你希望篡夺用户计算机的控制权。。。这是任何合理的操作系统或web浏览器都不允许的

    在Windows计算机中,永远不能禁用Ctrl-Alt-Delete。该组合键被Windows内核截取,您甚至没有机会在javascript或桌面应用程序中看到它。您可以尝试编写一个在内核获取密钥之前获取密钥的驱动程序,但我不确定这是否切实可行。无论哪种方式,这都超出了桌面应用程序的范围


    您列出的其他快捷方式可以捕获。

    在web应用程序中,您可以使用相当简单的javascript限制用户输入,但不能限制浏览器。在桌面应用程序中,您可以使用windows挂钩等。唯一的问题是,所有主要的防病毒软件都会将您的应用程序视为威胁。这不是不可能的,如果你非常想要它,你可以从研究简单的marc 3键盘记录器开始。祝你好运。

    要详细介绍其他答案/评论:

  • 在您自己的应用程序中禁用复制和粘贴是相对简单的。但是,您无法阻止用户在其他应用程序中复制和粘贴。您所说的“所有这些快捷方式”是什么意思尚不清楚,但一般来说,“Ctrl-Something”快捷方式是由应用程序定义的,因此您可以覆盖它
  • 从网站或Windows应用程序中永远不可能禁用Ctrl-Alt-Del。这是故意的
  • Ctrl-Shift-Esc可以被应用程序覆盖,但WPF应用程序的初步实验表明,这需要在比.NET容易公开的级别更低的级别上进行处理
  • 看一看,我们使用它来做什么,你是在我们的Delphi应用程序之一要求,但它作为一个动态链接库和驱动程序,所以应该能够在几乎任何编程语言使用

    在我们的例子中,它用于在系统运行时禁用所有windows快捷键和CTRL-ALT-DELETE,并在正确关闭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;
    

    希望这有帮助

    不,你不能在网站上这么做。我很高兴你不能。此外,Control Alt Delete意味着普通程序无法将其作为安全功能捕获(这样您就知道生成的提示只能来自Windows本身)。不,您不能对网站执行此操作。但是,您可能(我不确定)能够对应用程序执行所需的操作。您不一定需要阻止他们从另一个应用程序复制文本,你可能只会阻止它们粘贴到你的应用程序中。我知道这是盗用。我想创建一个XX东西,它允许用户解决一些问题,但不应该从他们的硬盘上复制答案…有可能在靠近它的地方做一些事吗…或者其他任何方式来做吗?@Pointer:所有的大写字母通常都是这样读的喊叫。你也许应该注意你在没有理由或要求帮助你的其他人面前的形象。不,@Pointer,这是每个人都在告诉你的:Windows是专门为阻止你所做的事情而设计的。Windows是不可能的。我知道这是篡夺…我想创建一个XX东西,它允许用户解决一些问题,但不应该从他们的硬盘上复制答案…你明白了吗?当然有一种方法,只要卸下硬盘并对其进行猛烈攻击。如果你的目标是考试,使用硬件保护-键盘无Alt,外壳安全,无端口,即信息亭型计算机。这样,适当的安全策略应该是可以的。哦,别大喊大叫——这只会让人生气,你会得到你应得的回复。让我们再试一次:对你来说,如果我打开包含答案的文件,打印出来,然后打开你的应用程序,然后从打印中键入答案,就可以了。但是如果我打开答案文件,把它放在后台,然后打开你的应用程序,任务切换回该文件,记住要输入的答案,那就不好了。那么有什么区别呢?(我使用了同样的帮助,只是在第二个案例中我没有浪费任何纸张)。附言:你想在这里实现什么?@C.Stoll一路下来都是海龟!我希望用户填写答案表上的COMP,但他们可以很容易地采取答案从他们的硬盘驱动器。。。有什么办法吗???????????一定有一些WAY@POINTER:我不同意盲目地认为你的应用程序有问题,但我不认为所有的大写字母都有用!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!E S P E C I A L L Y O O R M A T U R E O P L E I I I I I I I I I I I I I L L L L E E S P E E E E O L I I I I I I I I L L E I I I I L L E I I I I I I L L E I I I I I L L L E E E E E E E E I I I I L L。除非您是匿名恶意软件编写者,否则您将面临任何客户的诉讼,这些客户的机器在无法访问TM时受到感染。@MartinJames:请阅读我用大写字母给出的描述。.我没有试图制作任何恶意软件。也许没有,但我知道这是怎么做到的?问题是,你没有给出你的应用程序将如何使用的太多细节。我会很高兴坐在e