Acerca de SpyWorks Professional

Intercepte el flujo de mensajes de bajo nivel para cualquier aplicación o para todo el sistema a la vez.

SpyWorks is an ActiveX component collection intended for developers who need a core set of advanced programming tools for Visual Basic 5.0/6.0. SpyWorks exposes the underlying operation of the Windows system that is hidden by Visual Basic, thus allowing developers to take full advantage of all of the capabilities of Windows including API functions, ActiveX Extensions, the Desaware API Class Library and more.

What's new in V8.0?

SpyWorks V8.0 represents a major fork in development of the package. As such, it can be installed on the same system with version V7.1. It contains a completely new set of components and a separate subclassing/hook engine.

Major changes are as follows:

  • Anti-spyware technology. These changes are designed to prevent the SpyWorks components from being incorrectly identified as Spyware. This takes two forms: first, the new subclassing and hook controls have built in restrictions that make them unable to intercept keystrokes from certain windows (such as text boxes used to capture passwords) making the components less useful to spyware authors. Second, the components have been renamed to not include the word "spy" or "spyworks" because these were causing confusion among end-users
  • SpyWorks V8.0 has improved handling of Windows hooks, particularly with regard to recovery when applications crash
  • SpyWorks V8.0 does not include a light edition of the NT Service toolkit. This change was made because the full toolkit is included with the Universal COM product

What's new in V7.1?

These are 3 new hook types that the SpyWorks Windows Hook control and Desaware.SpyWorks.WinHook component supports. These have been added to the Windows NT operating system starting with NT 4.0 SP 3 (or 4). Thus these do not work in Windows 95/98/ME.

Low Level Keyboard hook allows you to detect system key combinations that the "standard" Keyboard hook cannot detect. In the past, SpyWorks included a sample demonstrating how to detect these keys using another method (combination subclassing and API functions), now you can use our Winhook control directly - makes things easier.

Low Level Mouse hook allows you to detect the mouse for the entire system, it is very similar to the standard Mouse hook but contains some additional information and is hooked at an earlier time.

Foreground Idle hook detects when your application's thread is about to enter the idle state - it can be used to signal the start of a low priority background operation.

What's new in V7.0?

  • Updated versions of the SpyWorks hook and subclassing control that support the final release of Visual Studio .NET, including associated .NET Primary InterOp assemblies
  • Support for exporting functions from Visual Studio .NET assemblies
  • This update contains an extensive variety of examples:
  • The use of both subclassing and hooks with both Visual Basic .NET and C#. Subclassing works both in-process and cross-task. Hook support is provided on a thread, application or system wide basis. Keyboard hooks are supported as well
  • How to call API export functions from .NET applications, including many that use parameters that requires special marshalling
  • Cross-task subclassing
  • System wide monitoring of mouse and keyboard activity
  • System wide identification of windows (using the mouse) or windows enumeration (programmatic)
  • Detection of newly created windows, such as message boxes or common dialogs
  • Retrieval of text from a text box or rich text control that is part of another process
  • How to set a task to the foreground (even if it is not the active application)
  • How to do in-process subclassing using the .NET framework
  • Updated version of the NT Service Toolkit (Light Edition) version 1.1

What's new in V6.3?

This is the first edition of SpyWorks to offer compatibility with Visual Studio.NET Beta 2. New features include:

Updated versions of the SpyWorks hook and subclassing control that support Visual Studio.NET Beta 2.

Examples of use of both subclassing and hooks with both Visual Basic .NET and C#. Subclassing works both in process and cross-task. Hook support is provided on a thread, application or system wide basis. Keyboard hooks are supported as well.

Examples include:

  • Cross task subclassing
  • System wide monitoring of mouse and keyboard activity
  • System wide identification of windows (using the mouse) or windows enumeration (programmatic)
  • Retrieval of text from a text box or rich text control that is part of another process
  • How to set a task to the foreground (even if it is not the active application)
  • How to do in-process subclassing using the .NET framework
  • Examples of calling functions from .NET applications, when those functions are exported using Desaware’s Dynamic Export Technology
  • Updated version of the NT Service Toolkit (Light Edition) version 1.1
  • Proxy support added to the Desaware Winsock components

Features:

  • Exported Functions - SpyWorks pioneers Dynamic Export Technology which allows programmers to export functions from Visual Basic created ActiveX DLL's. Desaware's Dynamic Export Technology uses a special extension DLL to export functions without modifying the compiled DLL! Use Visual Basic 5.0 & 6.0 to create export function libraries, and Control Panel Applet/Extensions.
  • In-Process Subclasser with Source Code - SpyWorks 6 includes a Visual Basic authored DLL for subclassing, hooks, and management of custom windows. These technologies allow Visual Basic to take full advantage of underlying Windows capabilities from within Visual Basic. This component is designed for high performance with low level message filtering, shared subclass routines, and maximum use of early binding. And it includes complete Visual Basic source code.
  • ActiveX Extensions - ActiveX is about interfaces, and SpyWorks 6 has the ability to override the behavior of interfaces that are part of your Visual Basic created components. For example: it is possible to add new standard interfaces to your components (especially standard interfaces that are not compatible with Visual Basic), such as IObjectSafety, that provides total control over the safety marking of ActiveX controls intended for use on web pages.
  • "cross-task" subclassing - The ability to intercept messages for other applications in the system. Cross task capabilities are supported on Microsoft Windows 95 and Microsoft Windows NT. This technology can even allow programmers to use Visual Basic to create add-ons for other applications.
  • dweasy custom control - Allows customization of captions of Visual Basic forms or controls by changing their size and adding new buttons. It makes it possible to create virtual forms or containers, or turn forms and controls into roll-up windows.
  • mouse-tracking - The ability to detect when the mouse enters or exits any control in an application, and support for virtual forms. It also detects many standard system-wide events that can help improve both the look and Windows 95 compatibility of an application.
  • Automatic support for file drag/drop plus Windows shortcuts - You can now create shortcuts of your own from within Visual Basic.
  • API Functions - SpyWorks includes tools to provide efficient access to Windows-based application programming interface (API) functions that are not normally accessible from Visual Basic. These include:
  • User Defined Type packing functions - Visual Basic does not provide support for single byte packing of data when passing a user defined type to a DLL. This makes it difficult to correctly define some API structures in Visual Basic. A set of new UDT packing functions in SpyWorks Professional make it easy to pack and unpack user defined types.
  • The Desaware API Class Library - A new way to take advantage of the full power of the Windows API in Visual Basic and VBA based applications. The Desaware API Class Library includes complete Visual Basic source code, and can be used as a standalone API object library, by incorporating classes into applications, or by adding inline code directly into programs.
  • Indirect API Call support - Now, for the first time, you can call an API function from VB without hardcoding the name of the DLL in a declare statement. Both the DLL name and the function name can be specified at runtime, making it easy to perform generic tasks such as registering or unregistering COM components
  • SMTP Component - This new component builds on the current SpyWorks Winsock components to allow you to easily send Email from your application. This component was originally designed to help us send Email from Visual Basic IIS Applications and ASP pages
  • MouseWheel support for dwEasy36.ocx - Our dwEasy control now allows you to directly monitor the MouseWheel on your mouse, or to allow the MouseWheel to automatically scroll a window when you have scrolling enabled on a virtual form
  • Improved dynamic loading - Visual Basic 6 supports dynamic loading of ActiveX controls. This updates improves our support for dynamic loading. For example: dwEasy36.ocx is now able to correctly interact with a form on which it is placed at runtime
  • IViewObject interface support - The SpyWorks ActiveX extension component now allows you to override the IViewObject interface, making it possible to create ActiveX controls in Visual Basic that both scale and print correctly according to the ActiveX standard. You can even print or display graphics from invisible controls.
  • API Entry Point Search utility - Have you ever had a difficult time finding out which DLL contains a particular API function? Or whether you need to use an 'A' or 'W' suffix on the function name? Our new API entry point search utility can display or find API functions in any DLL, or search your entire system directory for a function
  • Improved NT Service support - We've added enhancements to our NT service classes in the form of improved thread synchronization, substantially improving the stability and reliability of our NT service solution
  • Improved cross referencing of sample programs - The online help system now includes cross references to most sample projects making it easier to find specific solutions or examples