Solved

Program that hooks another program's thread, having problems....

Posted on 2003-10-31
3
206 Views
Last Modified: 2010-04-17
I have inherited a program written in Visual C++ 6 that works behind the scenes to hook another application and monitor the user's keystroke activity in that target program.  The hooking program was originally written for Windows 95.  I have been asked to upgrade it and migrate it to Windows 2000 and Windows XP.  However, I have a problem.  The hooking program cycles in the background looking for instances of the target application and then hooks the process and thread of the given instance, allowing the target program to have as many instances up on the desktop as the user wants.  The hooking program saves off process and threadids, along with window ids to a collection object and when a specific window in a particular instance of the target application has focus, the hooking application monitors that instance of the target application.  This is how the program works on Windows 95.  However, when I run this program on a machine with either Windows 2000 or Windows XP I cannot activate more than one instance of the target program, otherwise I get the "Switch To", "Retry", "Cancel" error box and the desktop freezes up.  This hooking program was patterned after code found in the book, Programming Applications for Microsoft Windows by Jeffrey Richter, using much of Chapter 22 quidance.  This is a program that uses API hooking and the API functions to locate instances of specific windows.  However, no matter what I try to do to debug this program, I cannot figure out why it does not allow more than one instance of the target application to appear on the desktop at any given moment on a computer using the Windows 2000 or Windows XP operating systems, and why any effort to increase the number of instances of the target application running on the desktop freezes up the computer.  Any information, or help would be greatly appreciated.

Thank you.
0
Comment
Question by:Hawkeye67
  • 2
3 Comments
 
LVL 6

Expert Comment

by:GloomyFriar
ID: 9657913
It's rather difficult to help without looking at the code in this case.
I can only recommend the following link:
http://www.codeproject.com/system/hooksys.asp
0
 
LVL 6

Accepted Solution

by:
GloomyFriar earned 500 total points
ID: 9657978
Just register (it's free) to get source codes there.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Specific format 21 182
endX challenge 2 63
firstswap challenge 20 68
base64 decode encode 12 122
Here we come across an interesting topic of coding guidelines while designing automation test scripts. The scope of this article will not be limited to QTP but to an overall extent of using VB Scripting for automation projects. Introduction Now…
Does the idea of dealing with bits scare or confuse you? Does it seem like a waste of time in an age where we all have terabytes of storage? If so, you're missing out on one of the core tools in every professional programmer's toolbox. Learn how to …
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

895 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now