SpyWorks Professional について

アプリケーションやシステム全体の低レベルのメッセージを一度に捕獲

SpyWorks は、先進的なプログラミング・ツールのコアセットを、Visual Basic 5.0 / 6.0 のために必要とする、デベロッパーを対象としたActiveX コンポーネントのコレクションです。 SpyWorks は、Visual Basic により隠蔽されてしまう、Windows システムの基本的な動作をエクスポーズします。 それによりデベロッパーは、API 機能/ActiveX Extension/Desaware API Class Library などを含めて、すべての Windows 機能を十分に活用できるようになります。

V8.0 の新機能

SpyWorks V8.0 は、そのパッケージ開発の流れにおいて、大きな分岐点として位置づけられます。 その意味において、同じシステム上で、Version 7.1 と共にインストールすることも可能です。 このパッケージに含まれるのは、新しいコンポーネントのセットと、分離のためのブクラス化、フックのためのエンジンとなります。

大きな変更点は、以下のとおりです:

  • アンチ・スパイウェアとしてのテクノロジー。 SpyWorks コンポーネントがスパイウェアであると、間違って認識されることを防ぐための変更。 第一に、提供されるコンポーネントがスパイウェアから悪用されないように、新規のサブクラス化とフック・コントロールを実現。それにより、特定ウインドウ(たとえば、パスワードを取り込むためのテキスト・ボックス)からのキーストロークに対して、インターセプトを不可能にするためのビルトイン制約を提供。 第二に、エンドユーザーにおける混乱を避けるために、新たに提供されるコンポーネントから、単語としての「spy」と「spyworks」を除去

V7.1 の新機能

SpyWorks Windows Hook コントロールおよび、Desaware.SpyWorks・WinHook コンポーネントが、3種類のフック・タイプをサポートします。 それらのフック・タイプは、Windows NT 4.0 SP 3 (or 4) 以降のオペレーティング・システムに加えられたものであり、Windows 95/98 / ME では動作しません。

Low Level Keyboard フックで検出が可能になるのは、「標準」キーボード・フックでは見逃してしまう、システム・キーのコンビネーションです。 これまでの SpyWorks では、別のメソッド(コンビネーションのサブクラス化とAPI 機能)を用いて、それらのキーを検出するサンプル・デモを提供してきましたが、製品に含まれる Winhook コントロールのダイレクトな利用により、これからの作業が容易にします。

Low Level Mouse フックにより、システム全体に対する、マウス・イベントの検出が可能になります。それは、標準的な Mouse フックに極めて類似していますが、いくつかの追加情報を含み、また、より速いタイミングでのフックを可能にします。

フォアグラウンドの Idle フックによる検出は、アプリケーションのスレッドが、アイドリング・ステートに入ろうとするときに実施されます。 低優先度のバック・グラウンド運用をスタートするために、この検出を利用できます。

V7.0 の新機能

SpyWorks新バージョンにおける、フックとサブクラス化のためのコントロールを更新することで、Visual Studio.NET の最新リリースをサポートし、さらには.NET Primary InterOp アセンブリとの組み合わせにも対応します。

Visual Studio .NET アセンブリからの、エクスポート機能をサポートします。

このアップデートには、拡張された各種サンプルが取り込まれています:

  • Visual Basic .NET と C# を用いた、サブクラス化とフックの用法。 インプロセスとクロスタスクのモードで機能する、サブクラス化の事例を提供。 スレッド/アプリケーション/システム上で幅広く提供される、フックおよびキーボード・フックもサポート
  • .NET アプリケーションからのAPI エクスポート機能のコールにおいて、特殊なマーシャリングを必要とする方式および、多様な用法を提供
  • クロスタスクにおける、サブクラス化の方式を提供
  • システム全体を網羅する、マウス/キーボードのアクティビティをモニタリング
  • システム全体を網羅する、マウスを用いたウィンドウの識別と、プログラムを用いたウィンドウ一覧の識別
  • メッセージ・ボックスやコモン・ダイアログのような、運用時において新たに作成されるウィンドウの検出
  • 他のプロセスの一部である、テキスト・ボックスやテキスト・コントロールからのテキストの抽出
  • タスクをフォアグランドに設定する方式 (アクティブなアプリケーション以外にも対応)
  • .NET framework を用いた、インプロセスでのサブクラス化の方式
  • NT Service Toolkit (Light Edition) Version 1.1 の、アップデートされたバージョン

V6.3の新機能

このSpyWorks のエディションから、Visual Studio.NET Beta 2 との互換性を提供し始めました。 新しい特徴として、以下の項目を含みます:

提供されるサンプル:

  • Visual Basic .NET と C# を用いた、サブクラス化とフックの用法。 インプロセスとクロスタスクのモードで機能する、サブクラス化の事例を提供。 スレッド/アプリケーション/システム上で幅広く提供される、フックおよびキーボード・フックもサポート
  • クロスタスクにおける、サブクラス化の方式を提供
  • システム全体を網羅する、マウス/キーボードのアクティビティをモニタリング
  • システム全体を網羅する、マウスを用いたウィンドウの識別と、プログラムを用いたウィンドウ一覧の識別
  • タスクをフォアグランドに設定する方式 (アクティブなアプリケーション以外にも対応)
  • .NET framework を用いた、インプロセスでのサブクラス化の方式

Desaware の Dynamic Export Technology を用いて機能がエクスポートされたときの、.NET アプリケーションからのコールのサンプル

  • NT Service Toolkit (Light Edition) Version 1.1 の、アップデートされたバージョン

Desaware Winsock コンポーネントに加えられた、プロキシー・サポートの用法

特徴:

  • 機能のエクスポート– SpyWorks の先駆けである Dynamic Export Technology により、Visual Basic で作成した ActiveX DLL から、プログラムによる機能のエクスポートを実現。 Desaware の Dynamic Export Technology の、特殊な拡張を施した DLL により、コンパイルされた DLL を修正することなく、機能のエクスポートを実現!機能をエクスポートするライブラリおよび、Control Panel Applet/Extensions を作成するために、Visual Basic 5.0 / 6.0 を活用
  • プロセス内でソースコードを用いたサブクラスの作成 -SpyWorks 6 による、サブクラス化/フック/カスタム・ウィンドウ管理のための、Visual Basic で作成した DLL の取り込み。 これらのテクノロジーにより、Visual Basic 内からの、Windows における基本能力の活用を実現。 低レベルのメッセージ・フィルタリング/共有サブクラス・ルーチン/アーリー・バインドなどを最大限で活用することで、ハイ・パフォーマンスなコンポーネントを実現。 さらに、Visual Basic による、全ソースコードを提供
  • ActiveX の拡張 – ActiveX はインターフェイスであり、たま、Visual Basic で作成するコンポーネントの一部であるインターフェイスの振る舞いを、SpyWorks 6 によりオーバーライドすることが可能。 そのため、たとえば Web ページ上での使用を意図した、ActiveX コントロールのセーフティ・マーキングに全体的なコントロールを提供する、IObjectSafety のような(特に、Visual Basic と互換性がない標準インターフェイスを持つ)コンポーネントに、新しい標準インターフェイスを加えることが可能
  • クロスタスクのサブクラス化– システム上の他のアプリケーションに対して、配信されるメッセージをインターセプトする能力。  Microsoft Windows 95 および Microsoft Windows NT 上で、クロス・タスク機能をサポート。 それに加えて、このテクノロジーにより、Visual Basic を利用した、他のアプリケーション用のアドオン作成も実現
  • dwEasy カスタム・コントロール -Visual Basic のフォームやコントロールに対して、サイズ変更や新しいボタンの追加などにより、カスタマイズを実現。 仮想フォームとコンテナの作成あるいは、フォームやコントロールのロールアップ・ウインドウへの変更を実現
  • マウス・トラッキング– アプリケーションに含まれる各種コントロールに対して、マウスの IN/OUTが生じるタイミングを検出し、仮想フォームのサポートも実現。 さらに、システムを網羅する標準イベントの検出にも対応し、アプリケーションの調査および、対 Windows 95 互換性のを改善を支援
  • ドラッグ&ドロップとWindowsショートカットの自動的なサポート – Visual Basic 内において、独自ショートカットの作成を実現
  • API 機能 – SpyWorks が提供するツールにより、通常では Visual Basic からアクセスできない、Windows ベースの API 機能への効率的なアクセスを実現
  • ユーザー定義タイプのパッケージング機能 – ユーザー定義のタイプを DLL に受け渡すとき、シングル・バイトのパックをサポートしないVisual Basicに対応。 それにより、Visual Basic では困難な、いくつかの API 構造の正確な定義をサポート。 SpyWorks Professional における、新規の UDT パッキング機能により、ユーザーによる定義タイプを容易にパック/アンパック
  • Desaware API Class Library – Visual Basic あるいは VBA ベースのアプリケーションにおいて、Windows API のフル・パワーを利用する新しい方式を提供。 それを可能にするために、Desaware API Class Library の全 Visual Basic ソースコードを提供。 さらに、スタンドアローンの API オブジェクト・ライブラリとしての利用を可能にする、アプリケーションへのクラスの取り込み、および、プログラムへのインライン・コードのダイレクトな追加
  • API Call の間接的なサポート– DLL 名を宣言文でハード・コーディングすることなく、VB から API 機能を呼び出すための改善。 DLL 名と機能名のランタイム指定を実現することで、たとえば COM コンポーネントをレジストリ/アンレジストリなどの、汎用的なタスクを容易に実行
  • SMTP コンポーネント – 現行のSpyWorks Winsock コンポーネントを基に作成された新しいコンポーネントにより、アプリケーションからの電子メールを容易に送信。Visual Basic IIS Applications および ASP ページからの、電子メール送信を支援するために設計されたコンポーネントを活用
  • dwEasy36.ocx におけるマウス・ホイールのサポート– dwEasy コントロールにより、マウスの MouseWheel のダイレクトなモニタリングを実現。 さらに、仮想フォーム上でスクロールを許可するときの、MouseWheel による自動的なウインドウのスクロールを実現
  • 動的ローディングの改善– Visual Basic 6 による、ActiveX コントロールの動的なロードをサポート。 このアップデートにより、動的なロードのサポートを改善。 たとえば、ランタイムに配置されたフォームとの正確なインタラクションを、dwEasy36.ocx により実現
  • IViewObject インターフェイスのサポート – SpyWorks ActiveX 拡張コンポーネントによる、IViewObject インターフェイスのオーバーライドを実現。それにより、Visual Basic における ActiveX コントロールの作成を可能にし、スケールとプリントの双方を、ActiveX スタンダードにしたがって調整。 さらに、表示を持たないコントロールからの、グラフィックスの印刷/表示も実現
  • API エントリー・ポイント検索ユーティリティ– 特定の API 機能を含む DLL の判定という、これまでに困難とされてきた問題を改善。 機能名に「A」や「W」などの、サフィックスを用いる必要性を排除。 新しい API エントリー・ポイント検索ユーティリティにより、あらゆる DLL における API 機能の検索/表示と、すべてのシステム・ディレクトリに対する検索を実現
  • NT Service サポートの改善 – 改善されたスレッド同期を持つフォームにおいて、NTサービス・クラスを追加。 それにより、NTサービス・ソリューションの安定性/信頼性を大幅に改善
  • サンプル・プログラムにおけるクロス・リファレンスの改善– オンライン・ヘルプ・システムにより、大半のサンプル・プロジェクトでのクロス・リファレンスに対応し、特定のソリューションやサンプルの検索を容易に実現