0

Apple のスポットライトのように、バックグラウンドで特定のユーザー入力を待機するアプリケーションの作業を開始しようとしています。

基本的に、ユーザーはサービスを起動する特定のキーの組み合わせ (つまりCTRL+SpaceまたはCTRL+ p) をサービスに与えると、アプリケーションのメイン GUI が起動します。

今私の質問:

  • まず、このアプリケーションのフットプリントを非常に小さくし、多くのシステム リソースを消費せず、他のアプリケーションの動作を妨げないようにしたいと考えています。

    このアプリケーションも で書きたいと思いますC#。これまでのところ、キーストロークをリッスンし、コントロールでもコントロールキーでもないストロークを破棄するサービスを作成するのが最善のアイデアでした。

    これは最適ではないようです。より良い方法はありますか?スポットライトがどのように機能するか知っている人はいますか?

  • 第二に、この種のサービスがモールウェアとして識別されるのではないかと懸念しています。

    自分のソフトウェアが Avast や Spysweeper などのアプリケーションの標的にならないようにするには、どのような手順を実行すればよいですか?

    これらのソフトウェア パッケージのすべてのメーカーに連絡し、アプリケーションの目的を説明する必要がありますか?

  • 最後に、このようなサービスをセットアップする方法に関するリソースへのリンクを誰かに提供していただければ、非常にありがたいです。

4

2 に答える 2

2

サービスはデスクトップ ユーザーと対話することは想定されていないため、フックしてキーストロークを監視することは想定されていません。これは XP で動作する可能性がありますが、Vista/7 以降の OS では多くの問題が発生する可能性があります。

これを行うには、ログインしたユーザーと同じユーザーとして実行される、ユーザーの起動時に実行されるユーザー空間プログラムが本当に必要です。

また、最小限のフットプリントとリソースの使用を懸念している場合は、.NET を使用したくありません。.NET はかなり大きなランタイム ライブラリをロードする必要があり、かなり大きなワーキング セットを作成するからです。通常、これは問題にはなりませんが、ウォッチャー プログラムのようなものについては、フットプリントの少ない最小限の CRT スタートアップを使用して、フットプリントの小さい C で記述するのが最善です。

于 2009-11-11T17:55:55.147 に答える