Desaware Home
Products    Purchase    Publishing    Articles   Support    Company    Contact    
Support
Product FAQ
Licensing System
CC Factory
Event Log Toolkit
Gallimaufry
IniFile Tool-5M
LineGraph-5M
NT Service Toolkit
OneTime Download
SpyWorks
StateCoder
StorageTools
VBX Legacy
VersionStamper
Downloads
Documentation
Professional Services

 

bluebar
Contact Desaware and order today

bluebar
Sign up for Desaware's Newsletter for the latest news and tech tips.

SpyWorks Support

Frequently Asked Questions - SpyWorks and Windows 7/Vista

  1. Spyworks (subclassing and hooks) doesn't work on Windows 7
  2. The Spyworks 8 components will not load or register (or, what are VC runtimes and how do I get them)?
  3. Global Hooks, keyboard hooks or cross task subclassing are not working reliably under Vista.
  4. I'm having trouble with exporting functions or building control panel applets with the COM version of Spyworks under Vista.
  5. I can't hook the UAC (User Access Control) prompt.
  6. I need a set of signed components to meet Windows 7 logo requirements.
  7. The SpyWorks demo crashes on Windows 7.


1. Spyworks (subclassing and hooks) doesn't work on Windows 7

For reasons that we cannot comprehend, Windows 7 changed some of the stack allocation process during DLL load times that impacted SpyWorks. You must download the latest component update for SpyWorks to run on Windows 7.


2. The Spyworks 8 components will not load or register (or, what are VC runtimes and how do I get them)?

First, if using Windows 7, be sure to download the latest component update. The Spyworks 8 components were built under the latest version of Microsoft's Visual C++ compiler. Like most VC++ built components, they require certain runtime files. These files are normally shipped with Windows, however your older OS versions may not have the latest versions of these files. SpyWorks and the NT Service toolkit install these files as needed. We have included the appropriate redistributables in the vcredist_x86 directory so you can distribute them with your applications if necessary.


3. Global Hooks, keyboard hooks or cross task subclassing are not working under Windows7/Vista

Welcome to the world of Vista Migration. Did you know that Microsoft estimates that only about 50% of XP applications will run without modification under Windows7 or Vista? Just because you're using VB6 or even VS .NET, that doesn't mean this won't apply to you.

And given that many of Vista's new security features are specifically targeted at some of the things people have done with SpyWorks, it's not surprising that there are issues. In other words, just because we have upgraded SpyWorks to be compatible with Vista does not mean that you'll be able to avoid compatibility/migration issues - even those relating to SpyWorks features.

While we certainly recommend recoding your application for Vista compatibility, in many cases you can resolve your problems by taking two steps:

  • Upgrade to SpyWorks 8 - It has a new hook engine that is more tolerant of application crashes (including those caused by Vista security violations) and has additional features to enable the maximum functionality possible under Vista. Earlier versions of SpyWorks are NOT supported under Windows 7 or Vista.
  • Run your application as an administrator - Lower privilege applications will not be able to hook or subclass privileged applications.

For more information refer to: http://msdn2.microsoft.com/en-us/library/aa480150.aspx which includes the following:

A lower privilege process cannot:

  • Perform a window handle validation of higher process privilege.
  • SendMessage or PostMessage to higher privilege application windows. These application programming interfaces (APIs) return success but silently drop the window message.
  • Use thread hooks to attach to a higher privilege process.
  • Use Journal hooks to monitor a higher privilege process.
  • Perform dynamic link library (DLL)–injection to a higher privilege process.

Another good article is at http://msdn2.microsoft.com/en-us/library/aa480150.aspx

Be aware that Journal hooks have limited support under Vista. It is not clear to what degree hooks and cross task subclassing will work across WOW32 processes on 64 bit Vista. It is also not clear to what degree interop features will allow you to work with WPF applications (that internally do not use traditional Windows messaging). We will post more information as it becomes available.


4. I'm having trouble with exporting functions or building control panel applets with the COM version of Spyworks under Vista

Vista and XP SP2 have more advanced memory protection including a feature called Data Execution Prevention. In some cases this can interfere with the approach used for exporting functions from VB6 applications or control panel applets.

We recommend migrating applications that require these features to the .NET versions. The .NET tools use a different approach that does not trigger memory or data execution violations. You must update to SpyWorks 8.0 for .NET 2.0 and Vista compatibility.


5. I can't hook the UAC (User Access Control) prompt

That's right - you can't. Neither can anybody else. This is a good thing.


6. I need a set of signed components to meet Windows 7 logo requirements.

The latest SpyWorks 8 components are authenticode signed.


7. The SpyWorks demo crashes on Windows 7.

First, if using Windows 7, be sure to download the latest component update. Then be sure to run the demo as an administrator (right click and then select "run as administrator".


 
Products    Purchase    Articles    Support    Company    Contact
Copyright© 2012 Desaware, Inc. All Rights Reserved.    Privacy Policy