-8

ユーザーが特定のタスクを送信または完了するまで、集中したままにしたり、正確に開いたままにしたりできる、Windows マシン (デスクトップ) 用の Web サイトまたはアプリケーションを作成することは可能ですか?

たとえば、私の XXX アプリ/ウェブサイトは開いています。ユーザーにテキストを入力してもらいたいのですが、ユーザーが次の操作を実行できないようにする必要があります。

  1. ctrl+c または ctrl+v これらすべてのショートカット
  2. ctrl+alt+del (ウェブサイトでこれを行うのは不可能だと思います)
  3. Ctrl+Shift+Esc

簡単に言えば、ユーザーにテキスト ファイルからテキストをコピーさせたくない、ユーザーにこの XXX アプリ/ウェブサイトを最小化して、エクスプローラーやメモ帳などに切り替えてほしくありません。

私はウェブサイトがこれをすべて行うことができるとは思わない Windows デスクトップアプリケーションはこれを行うことができますか?

4

5 に答える 5

2

Windows デスクトップ アプリケーションも、あなたが求めていることを実行できてはなりません。本質的に、ユーザーのコンピューターの制御を奪うことを望んでいます...これは、適切なOSまたはWebブラウザーでは決して許可されません

于 2012-07-25T12:32:40.667 に答える
1

他の回答/コメントを拡張するには:

  1. 独自のアプリケーション内でコピーアンドペーストを無効にすることは、比較的簡単です。ただし、ユーザーが他のアプリケーションにコピーして貼り付けるのを止めることはできません。「これらすべてのショートカット」の意味は明確ではありませんが、一般に「Ctrl-Something」ショートカットはアプリケーションによって定義されるため、オーバーライドできます。
  2. Ctrl-Alt-Delを無効にすることは、WebサイトまたはWindowsアプリケーションからは不可能です。これは仕様によるものです。
  3. Ctrl-Shift-Escはアプリケーションによってオーバーライド可能であると考えられますが、WPFアプリを使用した最初の実験では、これは.NETが簡単に公開するよりも低いレベルで処理する必要があることが示唆されています。
于 2012-07-25T12:41:11.697 に答える
1

Windows コンピューターで Ctrl-Alt-Delete を無効にすることはできません。キーの組み合わせは Windows カーネルによって傍受され、JavaScript やデスクトップ アプリケーションで確認することさえできません。カーネルがキーを取得する前にキーを取得するドライバーを作成することもできますが、それが実際に実行可能かどうかもわかりません。いずれにせよ、それはデスクトップ アプリケーションの範囲外です。

リストした他のショートカットをキャプチャできます。

于 2012-07-25T12:37:14.767 に答える
1

DWinLockを見てみましょう。これは、Delphi アプリケーションの 1 つで要求されていることを実行するために使用されますが、DLL およびドライバーとして提供されるため、ほぼすべてのプログラミング言語で使用できるはずです。

私たちの場合、システムの実行中にすべての Windows ショートカットと 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;

それが役立つことを願っています

于 2012-07-25T12:58:22.293 に答える
0

Webアプリケーションでは、かなり単純なjavascriptを使用してユーザー入力を制限できますが、ブラウザーを制限することはできません。デスクトップアプリでは、Windowsフックなどを使用できます。唯一の問題は、すべての主要なウイルス対策ソフトウェアがアプリを脅威と見なすということです。不可能ではありません。もしあなたがそれをひどく苦しめたいのなら、あなたは単純なマーク3キーロガーを研究することから始めることができます。幸運を。

于 2012-07-25T12:41:08.823 に答える